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/07/01 00:52:16
![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](/uploads/image/z/2906084-20-4.jpg?t=matlab%E4%B8%AD+%E5%9C%A8M%E6%96%87%E4%BB%B6%E4%B8%AD%E5%AE%9A%E4%B9%89martin%E5%87%BD%E6%95%B0%E6%97%A0%E6%B3%95%E6%89%A7%E8%A1%8C%3E%3E+function+Martin%28531%2C531%2C531%2C5000%29f%3D%40%28x%2Cy%29%28y-sign%28x%29%2Asqrt%28abs%28531%2Ax-531%29%29%29%3Bg%3D%40%28x%29%28531-x%29%3Bm%3D%5B0%3B0%5D%3Bfor+n%3D1%3A5000m%3D%28%3A%2Cn%2B1%29%3D%5Bf%28m%281%2Cn%29%2Cm%282%2Cn%29%29%2Cg%28m%281%2Cn%29%29%5D%3Bendplot%28m%281%2C%3A%29%2Cm%282%2C%3A%29%27kx%27%29%3Baxis+equal%E6%89%A7%E8%A1%8CMart)
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