matlab中 在M文件中定义martin函数无法执行>> function Martin(531,531,531,5000)f=@(x,y)(y-sign(x)*sqrt(abs(531*x-531)));g=@(x)(531-x);m=[0;0];for n=1:5000m=(:,n+1)=[f(m(1,n),m(2,n)),g(m(1,n))];endplot(m(1,:),m(2,:)'kx');axis equal执行Mart
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/16 02:28:13
matlab中 在M文件中定义martin函数无法执行>> function Martin(531,531,531,5000)f=@(x,y)(y-sign(x)*sqrt(abs(531*x-531)));g=@(x)(531-x);m=[0;0];for n=1:5000m=(:,n+1)=[f(m(1,n),m(2,n)),g(m(1,n))];endplot(m(1,:),m(2,:)'kx');axis equal执行Mart
matlab中 在M文件中定义martin函数无法执行
>> function Martin(531,531,531,5000)
f=@(x,y)(y-sign(x)*sqrt(abs(531*x-531)));
g=@(x)(531-x);
m=[0;0];
for n=1:5000
m=(:,n+1)=[f(m(1,n),m(2,n)),g(m(1,n))];
end
plot(m(1,:),m(2,:)'kx');
axis equal
执行Martin(531,531,531,531)
输出时报错如下:
Error:File:Martin.m Line:6 Column:8
Unexpected MATLAB operator.
matlab中 在M文件中定义martin函数无法执行>> function Martin(531,531,531,5000)f=@(x,y)(y-sign(x)*sqrt(abs(531*x-531)));g=@(x)(531-x);m=[0;0];for n=1:5000m=(:,n+1)=[f(m(1,n),m(2,n)),g(m(1,n))];endplot(m(1,:),m(2,:)'kx');axis equal执行Mart
第一行代码到底是在命令窗口输入,还是在M文件中?
function Martin(531,531,531,5000)
如果在命令窗口,不应该有function这个关键字;如果在M文件中,则括号里的形式参数应该是变量,而不应是具体的数;
下面这一句的第一个等号应该是多余的:
m=(:,n+1)=[f(m(1,n),m(2,n)),g(m(1,n))];
这一句在'kx'前少了个逗号:
plot(m(1,:),m(2,:)'kx');
帮给你简单改了一下,把下面的代码直接保存到文件,然后运行即可.
function Martin
f=@(x,y)(y-sign(x)*sqrt(abs(531*x-531)));
g=@(x)(531-x);
m=[0;0];
for n=1:5000
m(:,n+1)=[f(m(1,n),m(2,n)),g(m(1,n))];
end
plot(m(1,:),m(2,:),'kx');
axis equal