24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1972  |  回复: 9

三星2010

木虫 (小有名气)

[求助] 请matlab高手看一下这个问题怎样编程才好,附程序代码,谢谢!

主要工作就是求解隐函数方程,参数及方程如下:
taof=7.2;
Gf=0.576;
delta1=0.034;
deltaf=0.16;
b1=25;
E1=250000;
t1=5.12;
b2=400;
E2=10000;
t2=20;
L=1200;
eql=600;
beta=b2*E2*t2/(b1*E1*t1);
lamda=((taof^2/2/Gf*(1/E1/t1+b1/b2/E2/t2)))^0.5;
lamda1=(lamda^2*2*Gf/(delta1*taof))^0.5;
lamda2=(lamda^2*2*Gf/(deltaf-delta1)/taof)^0.5;
参数a和h满足一下关系l
amda2/lamda1*sinh(lamda1*(L-a-h))- cot(lamda2*h)*cosh(lamda1*(L-a-h)-1/beta/sin(lamda2*h)=0
我能肯定的是a从0单调增大至892.806169,h的范围大致是[135,150]我想要的结果是将a的变化区间若干等分,比如1000等分,对每一个a去求对应的h并将这两个参数输出.
我自己编写的程序如下:
for i=1:1:892.9/0.001
    a(i)=i*0.001-0.001;
error=1;
  for j=135/0.001:1:150/0.001
    h1(j)=j*0.001;
    error1(j)=lamda2/lamda1*sinh(lamda1*(L-a(i)-h1(j)))- ...
                cot(lamda2*h1(j))*cosh(lamda1*(L-a(i)-h1(j)))- ...
                1/beta/sin(lamda2*h1(j));
       if error>abs(error1(j))
    error=abs(error1(j));
       h(i)=h1(j);
       end
end
if L break;
end
ltpu(i)=lamda2/lamda1*tanh(lamda1*(L-h(i)-a(i)))*cos(lamda2*h(i))+sin(lamda2*h(i));
ltpb(i)=lamda2/((lamda1)^2*delta1*b1*E1*t1)*(1+cos(lamda2*h(i))/(beta*cosh(lamda1*(L-a(i)-h(i)))));
ltp(i)=ltpu(i)/ltpb(i);
lts(i)=deltaf+ltp(i)*a(i)/(b1*E1*t1);
end
plot(lts,ltp,'b');
程序运行后总提示h未定义,不知道是哪里出了问题,有没有更好的办法求解啊,我都被这个问题折磨晕了,请大家出手相助!

[ Last edited by 三星2010 on 2012-12-26 at 16:36 ]
回复此楼
静心,合力
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

chembetsey

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
三星2010: 金币+10, 有帮助, 我不能确定h到底是多少维的,可以这样预定义吗? 2012-12-27 11:30:00
h是一个一维矩阵,你需要先定义一下,如:h=zeros[1000]
2楼2012-12-26 23:57:16
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

chembetsey

木虫 (小有名气)

【答案】应助回帖

你可以定义一个足够大的就是了,虽然有点浪费内存。
如果你知道维数大小,就定义成指定的大小。

» 本帖已获得的红花(最新10朵)

3楼2012-12-28 00:49:29
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
>> taof=7.2;
Gf=0.576;
delta1=0.034;
deltaf=0.16;
b1=25;
E1=250000;
t1=5.12;
b2=400;
E2=10000;
t2=20;
L=1200;
eql=600;
beta=b2*E2*t2/(b1*E1*t1);
lamda=((taof^2/2/Gf*(1/E1/t1+b1/b2/E2/t2)))^0.5;
lamda1=(lamda^2*2*Gf/(delta1*taof))^0.5;
lamda2=(lamda^2*2*Gf/(deltaf-delta1)/taof)^0.5;
syms a h
f=lamda2/lamda1*sinh(lamda1*(L-a-h))- cot(lamda2*h)*cosh(lamda1*(L-a-h))-1/beta/sin(lamda2*h);
ezplot(f,[0 900])

» 本帖已获得的红花(最新10朵)

The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
4楼2012-12-28 09:05:17
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

三星2010

木虫 (小有名气)

送鲜花一朵
引用回帖:
4楼: Originally posted by dbb627 at 2012-12-28 09:05:17
>> taof=7.2;
Gf=0.576;
delta1=0.034;
deltaf=0.16;
b1=25;
E1=250000;
t1=5.12;
b2=400;
E2=10000;
t2=20;
L=1200;
eql=600;
beta=b2*E2*t2/(b1*E1*t1);
lamda=((taof^2/2/Gf*(1/E1/t1+b1/b2/ ...

dbb627
你好,按你的建议画图试了一下,并不是期望的结果,因为a和h都有对应的物理量含义并且是一一对应的,而图中出现的是多值对应,很遗憾,这里仍表示感谢!
静心,合力
5楼2012-12-28 13:29:32
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

三星2010

木虫 (小有名气)

送鲜花一朵
引用回帖:
3楼: Originally posted by chembetsey at 2012-12-28 00:49:29
你可以定义一个足够大的就是了,虽然有点浪费内存。
如果你知道维数大小,就定义成指定的大小。

谢谢你再次回复!我的疑问是假设求解前预定义h=zeros[100]
但实际计算后只用到了前50维,那后面h是自动调整为50维还是后面的50维元素是都置0(h维数不变)?,前者的话就好了,如果是后者的话就不是期望的情形。
静心,合力
6楼2012-12-28 13:39:03
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
三星2010: 金币+30, ★★★很有帮助, 百度中也有个账号是dbb627,莫非就是阁下,真乃高人也,你的代码我看了一阵才明白,不过还是明白了,非常感谢! 2012-12-28 19:48:07
引用回帖:
5楼: Originally posted by 三星2010 at 2012-12-28 13:29:32
dbb627
你好,按你的建议画图试了一下,并不是期望的结果,因为a和h都有对应的物理量含义并且是一一对应的,而图中出现的是多值对应,很遗憾,这里仍表示感谢!...

taof=7.2;
Gf=0.576;
delta1=0.034;
deltaf=0.16;
b1=25;
E1=250000;
t1=5.12;
b2=400;
E2=10000;
t2=20;
L=1200;
eql=600;
beta=b2*E2*t2/(b1*E1*t1);
lamda=((taof^2/2/Gf*(1/E1/t1+b1/b2/E2/t2)))^0.5;
lamda1=(lamda^2*2*Gf/(delta1*taof))^0.5;
lamda2=(lamda^2*2*Gf/(deltaf-delta1)/taof)^0.5;
syms a h
f=@(a,h)lamda2/lamda1*sinh(lamda1*(L-a-h))- cot(lamda2*h)*cosh(lamda1*(L-a-h))-1/beta/sin(lamda2*h);
x=0:5:890;
h=zeros(numel(x),1);
for i=1:numel(x)
    opt=optimset('Display','off');
    a=x(i);
    h(i)=fsolve(@(h)f(a,h),135,opt);
end
plot(x,h)
The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
7楼2012-12-28 14:39:01
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

三星2010

木虫 (小有名气)

引用回帖:
7楼: Originally posted by dbb627 at 2012-12-28 14:39:01
taof=7.2;
Gf=0.576;
delta1=0.034;
deltaf=0.16;
b1=25;
E1=250000;
t1=5.12;
b2=400;
E2=10000;
t2=20;
L=1200;
eql=600;
beta=b2*E2*t2/(b1*E1*t1);
lamda=((taof^2/2/Gf*(1/E1/t1+b1/b2/E2/t2))) ...

这个运行的很好!结果也可以接受,只是我觉得少点什么,比如若将来碰到的问题含有三个参数,该方法能否比较容易推广至三维情形?最主要的是我现在还没有弄明白我编的程序问题出在何处。。。
静心,合力
8楼2012-12-28 20:10:29
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

615780236

禁虫 (知名作家)


感谢参与,应助指数 +1
jjdg: 金币+1, 辛苦了 2012-12-30 01:55:12
jjdg: 编辑内容 2012-12-30 01:55
本帖内容被屏蔽

9楼2012-12-28 20:47:05
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

三星2010

木虫 (小有名气)

引用回帖:
9楼: Originally posted by 615780236 at 2012-12-28 20:47:05
taof=7.2;
Gf=0.576;
delta1=0.034;
deltaf=0.16;
b1=25;
E1=250000;
t1=5.12;
b2=400;
E2=10000;
t2=20;
L=1200;
eql=600;
beta=b2*E2*t2/(b1*E1*t1);
lamda=((taof^2/2/Gf*(1/E1/t1+b1/b2/E2/t2)))^ ...

你和dbb627一个人吗,怎么写一样的代码
静心,合力
10楼2012-12-29 09:43:57
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 三星2010 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 求调剂 +7 翩翩一书生 2026-04-09 7/350 2026-04-10 08:11 by Sammy2
[考研] 288求调剂,一志愿华南理工大学071005 +16 ioodiiij 2026-04-08 16/800 2026-04-09 23:08 by wolf97
[考研] 266求调剂,一志愿哈工程电子信息,本科获多项国奖和省奖 +4 lumine1 2026-04-06 4/200 2026-04-09 17:38 by vgtyfty
[考研] 308求调剂 +17 墨墨漠 2026-04-06 17/850 2026-04-09 09:25 by 壹往無前
[考研] 一志愿华南师范大学0702物理学305调剂 +4 念常安 2026-04-07 6/300 2026-04-08 22:53 by bljnqdcc
[考研] 求调剂 +15 熊二想上岸 2026-04-04 15/750 2026-04-08 22:52 by 猪会飞
[考研] 320分人工智能调剂 +9 振—TZ 2026-04-03 10/500 2026-04-08 19:56 by 振—TZ
[考研] 调剂求助(生物与医药) +6 @6952 2026-04-06 6/300 2026-04-07 23:52 by lys0704
[考研] 材料工程专业日语生求调剂 +9 111623 2026-04-07 9/450 2026-04-07 23:31 by 一只好果子?
[考研] 071000生物学,一志愿深圳大学296分,求调剂 +12 TIckLw 2026-04-06 13/650 2026-04-07 20:34 by lijunpoly
[考研] 一志愿华中农业大学0710(A)初试329分 求调剂 +5 一名26考研生 2026-04-04 5/250 2026-04-07 08:54 by 18828373951
[考研] 308求调剂 +3 终不似从前 2026-04-05 3/150 2026-04-05 22:23 by hemengdong
[考研] 求调剂 +10 Hll胡 2026-04-04 10/500 2026-04-05 20:09 by nepu_uu
[考研] 材料化工306分找合适调剂 +14 沧海轻舟e 2026-04-04 14/700 2026-04-05 09:53 by 朱云虎202
[考研] 334求调剂 +8 曾仰之 2026-04-03 8/400 2026-04-04 11:16 by w_xuqing
[考研] 26调剂 086003 +6 失活的细胞 2026-04-04 6/300 2026-04-04 09:50 by zhangdingwa
[考研] 387求调剂 +4 爱吃片豆土 2026-04-03 5/250 2026-04-04 08:10 by 岸上的一条鱼
[考研] 求调剂 +4 压力??大 2026-04-03 4/200 2026-04-03 21:36 by 啵啵啵0119
[考研] 294求调剂 +6 Grey_Ey 2026-04-03 6/300 2026-04-03 20:46 by 欣喜777
[考研] 一志愿北京交通大学材料工程总分358 +4 cs0106 2026-04-03 4/200 2026-04-03 13:41 by 百灵童888
信息提示
请填处理意见