24小时热门版块排行榜    

查看: 1290  |  回复: 6

gaojinggigi

新虫 (正式写手)

[求助] 求助matlab写循环

各位大侠,我现在有以下程序,不知道怎么写循环,能不能帮我看一下?
a=0.8;
n=1.45;
f=100;
x0=a;y0=0;
gamma1=atan((x0+a)/(y0+f))
alpha1=gamma1/(n-1)
beta1=alpha1*n
l1=2*a*sin(alpha1)/cos(beta1)

x1=x0+(2*a+l1*cos(gamma1))
y1=y0+(l1*sin(gamma1))

gamma2=atan((x1+a)/(y1+f))
alpha2=gamma2/(n-1)
beta2=alpha2*n
l2=2*a*sin(alpha2)/cos(beta2)

x2=x1+(2*a+l2*cos(gamma2))
y2=y1+(l2*sin(gamma2))

gamma3=atan((x2+a)/(y2+f))
alpha3=gamma3/(n-1)
beta3=alpha3*n
l3=2*a*sin(alpha3)/cos(beta3)

x3=x2+(2*a+l3*cos(gamma3))
y3=y2+(l3*sin(gamma3))

在x<20,y<0.5时要一直算出xn,yn来,最后得出一组(x,y)的数据,请问怎么写循环语句啊?这么多变量我已经完全晕掉了,求赐教~
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

加油加油~
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
gaojinggigi: 金币+5, ★★★很有帮助 2012-12-21 19:03:33
CODE:
a=0.8;
n=1.45;
f=100;
i=1;
x(1)=a;
y(1)=0;

while x(end)<20&&y(end)<0.5
     gamma1=atan((x(end)+a)/(y(end)+f));
     alpha1=gamma1/(n-1);
     beta1=alpha1*n;
     l1=2*a*sin(alpha1)/cos(beta1);     
     i=i+1;
     x(i)=x(end)+(2*a+l1*cos(gamma1));
     y(i)=y(end)+(l1*sin(gamma1));
end

showmethemoney
2楼2012-12-21 09:25:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gaojinggigi

新虫 (正式写手)

引用回帖:
2楼: Originally posted by csgt0 at 2012-12-21 09:25:31
a=0.8;
n=1.45;
f=100;
i=1;
x(1)=a;
y(1)=0;

while x(end)<20&&y(end)<0.5
     gamma1=atan((x(end)+a)/(y(end)+f));
     alpha1=gamma1/(n-1);
     beta1=alpha1*n;
      ...

大侠,我后来发现每计算一次出来y>0.4,需要改变x(i)和y(i)和a的初值,x(i)和a的初值是下面程序的值,y(i)=0,再进行之前的循环,再求出y>0.4,改变x(i)和y(i)和a,一直计算到x>20结束。可是我加上if条件之后不知道怎么让它返回继续循环,还有x>20停止循环的命令怎么加?
我不会加循环,每次计算完了找到y>0.4的值再用公式求出a和x再代入,发现做了十几步还没做完~愁死我了~

a0=0.8;
a=-0.8;
n=1.411;
f=100;
x(1)=a;y(1)=0;

for ii=2:1:100
    gamma(ii)=atan((x(ii-1)-a)/(y(ii-1)+f));
    alpha(ii)=atan(sin(gamma(ii)/(n-cos(gamma(ii)))));
    beta(ii)=asin(sin(alpha(ii))*n);
    l(ii)=(a0-a)*sin(alpha(ii))/cos(beta(ii));

    x(ii)=x(ii-1)+(a0-a+l(ii)*sin(gamma(ii)))
    y(ii)=y(ii-1)+(l(ii)*cos(gamma(ii)))
  if y(ii)>0.4
    x(ii)=(0.4-y(ii-1))/tan(alpha(ii));
    a=x(ii)-(f+0.4)*tan(gamma(ii));
    y(ii)=0;
    ii=ii+1;
   end
  
end
加油加油~
3楼2012-12-21 15:59:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

去掉ii=ii+1;
在最后的end前加入
if x(ii)>20
break;
end
showmethemoney
4楼2012-12-21 16:13:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gaojinggigi

新虫 (正式写手)

引用回帖:
4楼: Originally posted by csgt0 at 2012-12-21 16:13:44
去掉ii=ii+1;
在最后的end前加入
if x(ii)>20
break;
end

这样算出来的y在第一次大于0.4后,后面都是0了,不对啊
加油加油~
5楼2012-12-21 16:23:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csgt0

荣誉版主 (著名写手)

彩色挂图

【答案】应助回帖

因为它每次都大于0.4啊
showmethemoney
6楼2012-12-21 16:32:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

11jxli1

禁虫 (著名写手)

感谢参与,应助指数 +1
本帖内容被屏蔽

7楼2012-12-22 21:38:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 gaojinggigi 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 被我言中:新模板不强调格式了,假专家开始管格式了 +4 beefly 2026-03-14 4/200 2026-03-17 22:04 by 黄鸟于飞Chao
[考研] 考研化学学硕调剂,一志愿985 +4 张vvvv 2026-03-15 6/300 2026-03-17 17:15 by ruiyingmiao
[考研] 材料专硕326求调剂 +6 墨煜姒莘 2026-03-15 7/350 2026-03-17 17:10 by ruiyingmiao
[考研] 085600材料与化工求调剂 +5 绪幸与子 2026-03-17 5/250 2026-03-17 16:40 by laoshidan
[考博] 26申博 +4 八旬速览 2026-03-16 4/200 2026-03-17 13:00 by 轻松不少随
[考研] 一志愿,福州大学材料专硕339分求调剂 +3 木子momo青争 2026-03-15 3/150 2026-03-17 07:52 by laoshidan
[基金申请] 国自科面上基金字体 +6 iwuli 2026-03-12 7/350 2026-03-16 21:18 by sculhf
[考研] 333求调剂 +3 文思客 2026-03-16 7/350 2026-03-16 18:21 by 文思客
[考研] 中科院材料273求调剂 +4 yzydy 2026-03-15 4/200 2026-03-16 15:59 by Gaodh_82
[考研] 070303 总分349求调剂 +3 LJY9966 2026-03-15 5/250 2026-03-16 14:24 by xwxstudy
[考研] 085601材料工程315分求调剂 +3 yang_0104 2026-03-15 3/150 2026-03-15 10:58 by peike
[考研] 复试调剂 +3 呼呼?~+123456 2026-03-14 3/150 2026-03-14 16:53 by WTUChen
[考研] 328求调剂 +3 5201314Lsy! 2026-03-13 6/300 2026-03-14 15:31 by hyswxzs
[考研] 材料371求调剂 +9 鳄鱼? 2026-03-11 11/550 2026-03-13 22:53 by JourneyLucky
[考研] 332求调剂 +3 zjy101327 2026-03-11 6/300 2026-03-13 22:48 by JourneyLucky
[考研] 求材料调剂 085600英一数二总分302 前三科235 精通机器学习 一志愿哈工大 +4 林yaxin 2026-03-12 4/200 2026-03-13 22:04 by 星空星月
[考研] 【考研调剂求收留】 +3 Ceciilia 2026-03-11 3/150 2026-03-13 20:18 by JourneyLucky
[考研] 材料专硕350 求调剂 +4 王金科 2026-03-12 4/200 2026-03-13 16:02 by ruiyingmiao
[考研] 274求调剂 +3 S.H1 2026-03-12 3/150 2026-03-13 15:15 by JourneyLucky
[考研] 270求调剂 085600材料与化工专硕 +3 YXCT 2026-03-11 3/150 2026-03-13 10:13 by houyaoxu
信息提示
请填处理意见