| 查看: 2334 | 回复: 6 | ||
[求助]
matlab计算一个递推公式,请大神指点啊... 已有2人参与
|
|
已知条件: d=1; angle=45*pi/180; L0=d*tan(angle); H0=0; x=[1,2,3,4,5] %x是一个数组 n=5; h=(pi/2-angle)/n; %下面是递推公式 L(i)=(L(i-1)*tan(x(i))*tan(angle+i*h)+tan(angle+i*h)*(d-H(i-1)))/(1+tan(x(i))*tan(angle+i*h)); H(i)=(d*tan(x(i))*tan(angle+i*h)-L(i-1)*tan(x(i))+H(i-1))/(1+tan(x(i))*tan(angle+i*h)) 由于matlab学习时间不长,对上面的两个递推公式编写了很长时间都没有成功啊,希望高手指点一下,给出相关程序,先谢谢喽.... |
» 猜你喜欢
所感
已经有3人回复
要不要辞职读博?
已经有7人回复
不自信的我
已经有11人回复
北核录用
已经有3人回复
实验室接单子
已经有3人回复
磺酰氟产物,毕不了业了!
已经有8人回复
求助:我三月中下旬出站,青基依托单位怎么办?
已经有10人回复
26申博(荧光探针方向,有机合成)
已经有4人回复
论文终于录用啦!满足毕业条件了
已经有26人回复
2026年机械制造与材料应用国际会议 (ICMMMA 2026)
已经有4人回复
» 本主题相关价值贴推荐,对您同样有帮助:
Matlab计算问题
已经有0人回复
Matlab计算程序求助
已经有12人回复
matlab 计算范围
已经有0人回复
请问matlab计算的一个问题
已经有4人回复
Matlab矩阵计算
已经有3人回复
matlab计算
已经有2人回复
matlab计算面积求助!!难
已经有8人回复
Matlab 计算求助
已经有6人回复
matlab一个计算方程的问题
已经有8人回复
重金求Matlab计算一个简单的问题
已经有5人回复
【求助】matlab 计算一个二重积分,高手们帮帮忙吧
已经有6人回复
求助MATLAB计算一个公式的语法怎么写
已经有1人回复
dingd
铁杆木虫 (职业作家)
- 应助: 1641 (讲师)
- 金币: 15037.3
- 散金: 101
- 红花: 234
- 帖子: 3410
- 在线: 1223.7小时
- 虫号: 291104
- 注册: 2006-10-28
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
815292578: 金币+10, ★★★很有帮助, 多谢你的回复... 2014-07-29 14:48:40
感谢参与,应助指数 +1
815292578: 金币+10, ★★★很有帮助, 多谢你的回复... 2014-07-29 14:48:40
|
1stOpt试试: L H 0.933261546709751 -1.49879649117998E-15 -0.0237958087696211 -0.0197234133869153 5.59451160589342 -0.103821834803187 6.24538579861417 0.160555187260027 -0.248318617485342 1.42828219257098 |
» 本帖已获得的红花(最新10朵)
2楼2014-07-29 14:39:57
3楼2014-07-29 14:48:13
hytao2012
铁杆木虫 (正式写手)
木头虫子
- 应助: 53 (初中生)
- 金币: 6319.3
- 散金: 115
- 红花: 11
- 帖子: 479
- 在线: 206小时
- 虫号: 2050091
- 注册: 2012-10-08
- 性别: GG
- 专业: 固体力学
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
815292578: 金币+40, ★★★★★最佳答案, 感谢你的回复,金币不多请见谅。还有点问题请帮忙看一下,谢谢... 2014-07-29 16:40:14
感谢参与,应助指数 +1
815292578: 金币+40, ★★★★★最佳答案, 感谢你的回复,金币不多请见谅。还有点问题请帮忙看一下,谢谢... 2014-07-29 16:40:14
|
原谅我看不懂里面的关系,但是大致是这样的,你自己可以改 clear; clc; d=1; n=5; x=[1,2,3,4,5]; angle=45*pi/180; h=(pi/2-angle)/n; L=zeros(5, 1); H=zeros(5, 1); L(1)=d*tan(angle); H(1)=0; for i=1:4 L(i+1)=(L(i)*tan(x(i))*tan(angle+(i+1)*h)+tan(angle+(i+1)*h)*(d-H(i)))/(1+tan(x(i+1))*tan(angle+(i+1)*h)); H(i+1)=(d*tan(x(i))*tan(angle+i*h)-L(i)*tan(x(i))+H(i))/(1+tan(x(i))*tan(angle+(i+1)*h)); end display(L); display(H); |
4楼2014-07-29 15:23:36
|
非常感谢你的回复,你的程序可以运行,谢谢... 这里还有点问题想请教一下,我的程序中x值是未知的,是我自己事先求出来然后又进行计算的,源程序是这样的: Dj=8.425; k=0.235; t=1/(2*k); theta=45.27*pi/180; d=1; a=theta; b=pi/2; n=20; h=(b-a)/n; x=[]; for i=1:1:n; psaiI=theta+(i-1)*h; z=fsolve(@(z)tan(psaiI)*sqrt((1-(2*z-1)/z^2)*(1-1/((2*z-1)^t)^2))-1/((2*z-1)^t)-sqrt((2*z-1)/z^2),1); %数值解求出z xx=fsolve(@(x)cos(x)/sin(psaiI-x)-sqrt(z^2/(2*z-1)),0); %数值解求出x X=[x,xx]; x=X; %将x放入一个X数组中,为了下一步程序的调用 end X %程序运行到这里是可以的,下面直接接入你提供的程序,出现了错误! L=zeros(n, 1); H=zeros(n, 1); L(1)=d*tan(angle); H(1)=0; for i=1:1:n-1 L(i+1)=(L(i)*tan(X(i))*tan(angle+(i+1)*h)+tan(angle+(i+1)*h)*(d-H(i)))/(1+tan(X(i+1))*tan(angle+(i+1)*h)); H(i+1)=(d*tan(X(i))*tan(angle+i*h)-L(i)*tan(X(i))+H(i))/(1+tan(X(i))*tan(angle+(i+1)*h)); end display(L); display(H); 能否在麻烦你帮我看看这个程序怎么修改啊?matlab刚刚学习实在是不懂啊.... |
5楼2014-07-29 16:38:32
hytao2012
铁杆木虫 (正式写手)
木头虫子
- 应助: 53 (初中生)
- 金币: 6319.3
- 散金: 115
- 红花: 11
- 帖子: 479
- 在线: 206小时
- 虫号: 2050091
- 注册: 2012-10-08
- 性别: GG
- 专业: 固体力学
6楼2014-07-29 17:48:00
7楼2014-07-30 20:28:45












回复此楼
815292578