24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1971  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿矿大,材料工程专硕314分,0856可调都可以 +13 无懈可击的巨人 2026-04-09 13/650 2026-04-10 05:30 by chenzhimin
[考研] 已调剂 +18 柴郡猫_ 2026-04-09 19/950 2026-04-09 22:10 by 柴郡猫_
[考研] 085402通信工程调剂,有4项学科竞赛国奖(电赛国二),硕士研究生调剂自荐信。 +3 m永o不v言o弃m 2026-04-09 3/150 2026-04-09 17:17 by 紫曦紫棋
[考研] 085400电子信息类(川大控制工程)求调剂可跨专业 求老师联系 +3 626776879 2026-04-08 3/150 2026-04-09 16:05 by 猪会飞
[考研] 085501机械英二77总分294求调剂,接受跨专业学习 +6 守法公民亓纪 2026-04-08 6/300 2026-04-09 15:55 by wp06
[考研] 材料工程322 +18 哈哈哈吼吼吼哈 2026-04-07 19/950 2026-04-09 10:44 by cymywx
[考研] 286求调剂 +19 Faune 2026-04-08 20/1000 2026-04-09 08:36 by 哦哦123
[基金申请] 有爆料,一个青年教师卖房得400万,然后换了一个四青帽子 +6 babu2015 2026-04-08 6/300 2026-04-09 08:14 by kudofaye
[考研] 生物学328分求调剂 +9 闪电kkl 2026-04-08 10/500 2026-04-08 21:42 by liuhuiying09
[考研] 机械工程313分找工科调剂 +3 双一流本科机械 2026-04-08 3/150 2026-04-08 20:41 by 土木硕士招生
[考研] 机械工程264学硕求调剂 +3 qiushangxian 2026-04-06 3/150 2026-04-08 01:53 by Linzejun
[考研] 调剂求助(生物与医药) +6 @6952 2026-04-06 6/300 2026-04-07 23:52 by lys0704
[考研] 机械调剂 +3 zzzbcb 2026-04-07 3/150 2026-04-07 22:19 by hemengdong
[考研] 372分材料与化工(085600)英二数二求调剂 +4 蓝笺片 2026-04-06 4/200 2026-04-07 12:30 by dongzh2009
[考研] 334分控制工程求调剂 +4 姜尚真sadasd 2026-04-03 4/200 2026-04-07 09:26 by 蓝云思雨
[考研] 22408 总分320,一篇论文二作,两个国三,求调剂 +3 Leomulufu 2026-04-04 5/250 2026-04-05 19:04 by chongya
[考研] 348求调剂 +6 wukira 2026-04-04 6/300 2026-04-05 18:11 by 猪会飞
[考研] 085400电子信息319求调剂(接受跨专业调剂) +5 星星不眨眼喽 2026-04-03 6/300 2026-04-04 21:50 by hemengdong
[考研] 材料383求调剂 +5 郭阳阳阳成 2026-04-04 5/250 2026-04-04 19:06 by dongzh2009
[考研] 0705理学294求调剂 +3 成果成果cg5 2026-04-03 3/150 2026-04-03 14:04 by simons1972
信息提示
请填处理意见