| 查看: 2612 | 回复: 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学习时间不长,对上面的两个递推公式编写了很长时间都没有成功啊,希望高手指点一下,给出相关程序,先谢谢喽.... |
» 猜你喜欢
有多少人是今天查系统知道结果的?
已经有17人回复
看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉……
已经有3人回复
基金不中,共勉
已经有4人回复
国自然面上复盘~欢迎讨论
已经有5人回复
我不理解!
已经有23人回复
2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战
已经有10人回复
系统查不到
已经有10人回复
怎么查啊
已经有5人回复
范进中举一文的中心思想
已经有10人回复
2026国自然函评费到账
已经有25人回复
» 本主题相关价值贴推荐,对您同样有帮助:
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 (初中生)
- 金币: 6629.8
- 散金: 115
- 红花: 11
- 帖子: 544
- 在线: 208.4小时
- 虫号: 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