1.matlab选择语句 有很多条件语句 能在 if 语句里面内嵌 if语句吗 即这样
嵌套是可以的,有些细节需要修改
if(X<=XR)
pu=(3*su+r*X)*D+J*su*X; %极限土抗力OK
if(3*yc>;) %这个地方“>;”后面缺少表达式,要加一下
p=(pu/2)*(y/yc).^(1/3);
elseif(3*yc<y<=15*yc)
p=0.72*pu*(1-(1-X/XR)*(y-3*yc)/(12*yc))
elseif(y>15*yc)
p=0.72*pu*(X/XR)
end
else(X>XR) %这里改成else就可以了
pu=9*su*D; %极限土抗力
if(y<=3*yc)
p=(pu*(y/yc).^(1/3))/2
else
p=0.72*pu
end
end
2.在matlab中利用条件选择语句switch完成函数的运算y(t)=0,t<
function [a] = y_switch(t)
if t<-10
mod = 0;
elseif t<10&&t>=-10
mod = 1;
else mod = 2;
end
switch(mod)
case 0
a = 0;
case 1
a = 1;
case 2
a = 2;
end
end
先确定mod,再用switch语句
3.求Matlab中的输入语句
a=input('请输入: ');
就可以了,因为a(1,:)就是提取矩阵a 的第一行的意思。同理a(2,:)
程序:
clc
clear
a=input('请输入: ');
disp(a(1,:));
disp(a(2,:));
disp(a(3,:));
运行结果:
请输入: [1 1 1; 2 2 2; 3 3 3]
1 1 1
2 2 2
3 3 3
楼主所说a(1,:)并不是变量,这是一条语句。如b=a(1,:),意思是提取a矩阵第一行赋给b.
4.matlab中switch语句的用法例子
if-else-end语句所对应的是多重判断选择,而有时也会遇到多分支判断选择的问题。
MATLAB语言为解决多分支判断选择提供了switch-case语句。
switch-case语句的一般表达形式为:
switch〈选择判断量〉
Case 选择判断值1
选择判断语句1
case 选择判断值2
选择判断语句2
……
otherwise
判断执行语句
end
与其他的程序设计语言的switch-case语句不同的是,在MATLAB语言中,当其中一个case语句后的条件为真时,switch-case语句不对其后的case语句进行判断,也就是说在MATLAB语言中,即使有多条case判断语句为真,也只执行所遇到的第一条为真的语句。这样就不必像C语言那样,在每条case语句后加上break语句以防止继续执行后面为真的case条件语句。
5.请帮忙解释一下matlab中的一些语句
第一句,prod(s(1:d-1))表示数组s的第一个元素向后一直乘到第d-1个元素的乘积;y=reshape(y,prod(s(1:d-1)),n,prod(s(d+1:end))就是把y数组分解成prod(s(d+1:end))个prod(s(1:d-1))行n列的矩阵;
第二句,y(:,s(d)+1:end,:)=[]定义了数组y的第一行的s(d)+1列到最后位的元素为空;
第三句,[]表示一个空数组,min(mb,[],2)表示求mb、空数组中元素和元素2中的最小值;pn=po(9)*min(mb,[],2)表示po数组中第9个元素与该最小值的乘积。
转载请注明出处育才学习网 » matlab中的选择语句怎么写