关于循环迭代的出错问题
题目:用循环迭代求取c点的轨迹,和移动的g点轨迹假设xA为已知,先取xC1=xA;
k=/xC1;此为c点的法线斜率,
xC2=xA-r/sqrt(1+k^2);
zC2= /(e^2-1);
zA=zC2+k(Xa- xC2);
xG=xA+q;
zG= zA+L;
已知
R0=8000;e^2=1.1;r=2.5;q=125;l=300;i=1;
下面是我编的程序,可是对循环迭代不是很清楚,所以无法得出想要的结果,希望各位帮我看看有什么问题,谢谢!!
clc;clear;
F1=kongkong(i,6);
R0=8000;
e2=1.1;
r=2.5;
q=125;
l=300;
i=1;
xA=1;
xC(i)=xA;
while(abs(b)>=10^(-8))% while(abs(b)>=1e-8)
i=i+1;% 放在后面
k(i)=sqrt(R0^2+(e2-1)*xC(i)^2)./xC(i);
xC(i+1)=xA-r/sqrt(1+k(i)^2);
zC(i+1)=(R0-sqrt(R0^2+(e2-1)*xC(i+1)^2))/(e2-1);
zA(i)=zC(i+1)+k(i)*(xA-xC(i+1));
xG(i)=xA+q;
zG(i)=zA(i)+l;
b=(xC(i)-xC(i-1));
end
F1(i,1)=xA;%这几个都没有循环
F1(i,2)=zA;%F1有什么用
F1(i,3)=xC;
F1(i,4)=zC;
F1(i,5)=xG;
F1(i,6)=zG;
plot(xC,zC)
plot(xA,zA)
plot(xG,zG)
hold on
end %这个对应哪个??
format short g,F1;
[ 本帖最后由 eight 于 2007-12-27 17:35 编辑 ]
回复 #1 juan0526 的帖子
??? Undefined function or method 'kongkong' for input arguments of type'double'.
F1=kongkong(i,6);
这个是什么
回复 #2 sigma665 的帖子
呵呵,首先感谢小西,其次很惭愧有那么多的问题。。。真是不好意思:@$1、F1(i,6)是我定义的i行6列数组,因为最终还是希望输出数据的;(kongkong只是随便起的一个名字)
2、while(abs(b)>=1e-8)不知道为什么可以这样写;
3、怎样让它循环下去,并输出呢 原帖由 juan0526 于 2007-12-27 14:47 发表 http://www.chinavib.com/forum/images/common/back.gif
呵呵,首先感谢小西,其次很惭愧有那么多的问题。。。真是不好意思:@$
1、F1(i,6)是我定义的i行6列数组,因为最终还是希望输出数据的;(kongkong只是随便起的一个名字)
2、while(abs(b)>=1e-8)不知道 ...
kongkong()那个运行不了
while(abs(b)>=1e-8 这个跟你一样的
你程序不完整,没法运行,所以不好调试 你说的不完整,或许是指我的程序无法循环起来吧
现在的问题就是这个呢,
抓狂中。。。 原帖由 juan0526 于 2007-12-27 15:48 发表 http://www.chinavib.com/forum/images/common/back.gif
你说的不完整,或许是指我的程序无法循环起来吧
现在的问题就是这个呢,
抓狂中。。。
不是啊
那你这句能运行吗
F1=kongkong(i,6); 程序问题很多, 后面的注释不是已经讲得很清楚了吗?
先按照其修改,有问题再来讨论. 原帖由 juan0526 于 2007-12-27 14:09 发表 http://www.chinavib.com/forum/images/common/back.gif
题目:用循环迭代求取c点的轨迹,和移动的g点轨迹
假设xA为已知,先取xC1=xA;
k=/xC1;此为c点的法线斜率,
xC2=xA-r/sqrt(1+k^2);
zC2=
建议先阅读基础书,然后再慢慢调试 谢谢各位!! 这个论坛还是有很多热心人的 建议你画一个框图,整理一下逻辑关系
页:
[1]