matlab if语句如何使用

function y=f(x)
y=zeros(size(x));
[m n]=size(x);
for i=1:m
for j=1:n
if x(i,j)<=300
y(i,j)=20
else if x(i,j)<=350
y(i,j)=23
else if x(i,j)<=400
y(i,j)=26
else if x(i,j)<=450
y(i,j)=29
else if x(i,j)<=500
y(i,j)=32
else if x(i,j)<=600
y(i,j)=37
else if x(i,j)<=700
y(i,j)=44
else if x(i,j)<=800
y(x,y)=50
else if x(i,j)<=900
y(i,j)=55
else if x(i,j)<=1000
y(i,j)=60
else
y(i,j)=(x(i,j)-1000)/20
end
end
end
end
end
end
end
end
end
end
y(i,j)
代码有神什么错误,麻烦指出 。最好给个例子

matlab的if语句,条件语句,这里分享下解决方法。

1、首先在matlab的命令行输入edit,打开编辑器,在编译器中定义三个变量a,b,c。

2、如果b^2-4ac>0就显示"有两个根",使用disp函数显示。

3、如果b^2-4ac等于0就显示"有一个根",使用disp函数显示。

4、如果b^2-4ac小于0就显示"无解",使用disp函数显示。

5、这时分别使用if elseif else三个条件语句。

6、最后点击运行,输出结果就完成了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-24
为for加2个end就好了。
function y=f(x)
y=zeros(size(x));
[m n]=size(x);
for i=1:m
for j=1:n
if x(i,j)<=300
y(i,j)=20
else if x(i,j)<=350
y(i,j)=23
else if x(i,j)<=400
y(i,j)=26
else if x(i,j)<=450
y(i,j)=29
else if x(i,j)<=500
y(i,j)=32
else if x(i,j)<=600
y(i,j)=37
else if x(i,j)<=700
y(i,j)=44
else if x(i,j)<=800
y(x,y)=50
else if x(i,j)<=900
y(i,j)=55
else if x(i,j)<=1000
y(i,j)=60
else
y(i,j)=(x(i,j)-1000)/20
end
end
end
end
end
end
end
end
end
end
end
end
y(i,j)追问

加了 还是不行 显示第二行有错,求指点

追答

y=zeros(size(3))
第二行语法没错。逻辑的问题。

追问

试过了 还是有问题,
开头代码改为这样
function y=f(x)
y=zeros(size(39)
[m n]=size(x)
for i=1:m
for j=1:n
矩阵是39乘以39的
问题如下
??? function
|
Error: Function definitions are not permitted at the prompt or in scripts.

追答

简单,39乘以39的矩阵
y=zeros(39);

本回答被提问者和网友采纳