查看单个帖子
旧 2008-12-30, 00:29   #1
elohim0807
初级会员
 
注册日期: 2008-12-30
年龄: 40
帖子: 2
声望力: 0
elohim0807 正向着好的方向发展
默认 matlab if-else条件句改写

matlab if-else条件句改写

function [V,a]=sphshell(r,R1,R2,rho)

r=[7000000;5000000;1500000];
G=6.672e-11;
R1=3500000;
R2=6370000;
rho=4500;

for i=1:1:3
r(i)=r(i,1);
if r(i)>R2
V(i)=(4/3)*pi*G*rho*(R2^3-R1^3)./r(i);
a(i)=(4/3)*pi*G*rho*(R2^3-R1^3)./r(i).^2;
elseif R1<r(i),r(i)<R2;
V(i)=2*pi*G*rho*(R2^2-r(i).^2/3)-(4/3)*pi*G*rho*R1^3./r(i);
a(i)=(4/3)*pi*G*rho*(r(i).^3-R1^3)./r(i).^2;
else
V(i)=2*pi*G*rho*(R2^2-R1^2);
a(i)=0;
end
end

V=[V(1);V(2);V(3)];
a=[a(1);a(2);a(3)];
请问怎么把上面程序改写?不能使用循环(FOR,WHILE)和条件(IF/ELSE)语句.
题目没说能不能用SWICTH,假如也不用SWICTH,请问该程序能否被改写?
谢谢
elohim0807 当前离线   回复时引用此帖