24小时热门版块排行榜    

查看: 1921  |  回复: 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的回帖

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的回帖
查看全部 10 个回答

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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 材料调剂 +4 爱擦汗的可乐冰 2026-02-28 4/200 2026-03-01 00:38 by 猫猫球alter
[考研] 307求调剂 +4 73372112 2026-02-28 6/300 2026-03-01 00:04 by ll247
[考研] 304求调剂 +3 52hz~~ 2026-02-28 5/250 2026-03-01 00:00 by 52hz~~
[考研] 317一志愿华南理工电气工程求调剂 +5 Soliloquy_Q 2026-02-28 8/400 2026-02-28 23:36 by xyx2012xyx
[考研] 272求调剂 +3 材紫有化 2026-02-28 3/150 2026-02-28 22:52 by ms629
[考研] 化工专硕348,一志愿985求调剂 +4 弗格个 2026-02-28 6/300 2026-02-28 22:00 by wang_dand
[考研] 295求调剂 +5 19171856320 2026-02-28 5/250 2026-02-28 21:39 by gaoxiaoniuma
[考博] 26申博 +4 想申博! 2026-02-26 4/200 2026-02-28 21:37 by limorning
[考研] 材料学调剂 +5 提神豆沙包 2026-02-28 5/250 2026-02-28 21:34 by gaoxiaoniuma
[考研] 264求调剂 +3 巴拉巴拉根556 2026-02-28 3/150 2026-02-28 21:31 by gaoxiaoniuma
[考研] 284求调剂 +4 天下熯 2026-02-28 4/200 2026-02-28 21:13 by gaoxiaoniuma
[考研] 276求调剂 +3 路lyh123 2026-02-28 4/200 2026-02-28 19:45 by 路lyh123
[考研] 0856材料求调剂 +10 hyf hyf hyf 2026-02-28 11/550 2026-02-28 18:50 by 无际的草原
[考博] 博士自荐 +3 kkluvs 2026-02-28 3/150 2026-02-28 16:59 by StarAura
[高分子] 求环氧树脂研发1名 +3 孙xc 2026-02-25 11/550 2026-02-28 16:57 by ichall
[考研] 265分求调剂不调专业和学校有行学上就 +4 礼堂丁真258 2026-02-28 6/300 2026-02-28 16:18 by 求调剂zz
[考研] 0856调剂 +3 刘梦微 2026-02-28 3/150 2026-02-28 13:22 by houyaoxu
[考研] 304求调剂 +5 曼殊2266 2026-02-28 6/300 2026-02-28 12:44 by 迷糊CCPs
[考研] 298求调剂 +4 axyz3 2026-02-28 4/200 2026-02-28 11:21 by wang_dand
[硕博家园] 【博士招生】太原理工大学2026化工博士 +4 N1ce_try 2026-02-24 8/400 2026-02-26 08:40 by N1ce_try
信息提示
请填处理意见