| 查看: 2345 | 回复: 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学习时间不长,对上面的两个递推公式编写了很长时间都没有成功啊,希望高手指点一下,给出相关程序,先谢谢喽.... |
» 猜你喜欢
招博士
已经有6人回复
限项规定
已经有8人回复
国家基金申请书模板内插入图片不可调整大小?
已经有5人回复
交叉科学部支持青年基金,对三无青椒是个机会吗?
已经有3人回复
国家级人才课题组招收2026年入学博士
已经有5人回复
Fe3O4@SiO2合成
已经有6人回复
青年基金C终止
已经有4人回复
青椒八年已不青,大家都被折磨成啥样了?
已经有7人回复
为什么nbs上溴 没有产物点出现呢
已经有10人回复
救命帖
已经有11人回复
» 本主题相关价值贴推荐,对您同样有帮助:
Matlab计算问题
已经有0人回复
Matlab计算程序求助
已经有12人回复
matlab 计算范围
已经有0人回复
请问matlab计算的一个问题
已经有4人回复
Matlab矩阵计算
已经有3人回复
matlab计算
已经有2人回复
matlab计算面积求助!!难
已经有8人回复
Matlab 计算求助
已经有6人回复
matlab一个计算方程的问题
已经有8人回复
重金求Matlab计算一个简单的问题
已经有5人回复
【求助】matlab 计算一个二重积分,高手们帮帮忙吧
已经有6人回复
求助MATLAB计算一个公式的语法怎么写
已经有1人回复
hytao2012
铁杆木虫 (正式写手)
木头虫子
- 应助: 53 (初中生)
- 金币: 6329.8
- 散金: 115
- 红花: 11
- 帖子: 479
- 在线: 206.3小时
- 虫号: 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
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
|
非常感谢你的回复,你的程序可以运行,谢谢... 这里还有点问题想请教一下,我的程序中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













回复此楼
815292578