QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2135|回复: 2
打印 上一主题 下一主题

[已经回复] MATLAB程序求助

[复制链接]
字体大小: 正常 放大
boyadong 实名认证       

1

主题

2

听众

8

积分

升级  3.16%

该用户从未签到

自我介绍
我的MATLAb恨烂
跳转到指定楼层
1#
发表于 2010-4-10 03:11 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
我想用Matlab编写求汽车发动机悬置矩阵的固有频率和振型的计算程序,在编写后台程序时候遇到了难题,提示我总是出错。
下面是我写的计算程序
f1=[1,0,0,0,z1,-y1;0,1,0,-z1,0,x1;0,0,1,y1,-x1,0];
f2=[1,0,0,0,z2,-y2;0,1,0,-z2,0,x2;0,0,1,y2.-x2,0];
f3=[1,0,0,0,z3,-y3;0,1,0,-z3,0,x3;0,0,1,y3.-x3,0];
% die Stellungskoordinaten der Aufhaenungen
a1=[cos(u1*pi/180),-sin(u1*pi/180),0;sin(u1*pi/180),cos(u1*pi/180),0;0,0,1];
a2=[1,0,0;0,cos(v1*pi/180),-sin(v1*pi/180);0,sin(v1*pi/180),cos(v1*pi/180)];
a3=[cos(w1*pi/180),-sin(w1*pi/180),0;sin(w1*pi/180),cos(w1*pi/180),0;0,0,1];
t1=a3*a2*a1;
b1=[cos(u2*pi/180),-sin(u2*pi/180),0;sin(u2*pi/180),cos(u2*pi/180),0;0,0,1];
b2=[1,0,0;0,cos(v2*pi/180),-sin(v2*pi/180);0,sin(v2*pi/180),cos(v2*pi/180)];
b3=[cos(w2*pi/180),-sin(w2*pi/180),0;sin(w2*pi/180),cos(w2*pi/180),0;0,0,1];
t2=b3*b2*b1;
c1=[cos(u3*pi/180),-sin(u3*pi/180),0;sin(u3*pi/180),cos(u3*pi/180),0;0,0,1];
c2=[1,0,0;0,cos(v3*pi/180),-sin(v3*pi/180);0,sin(v3*pi/180),cos(v3*pi/180)];
c3=[cos(w3*pi/180),-sin(w3*pi/180),0;sin(w3*pi/180),cos(w3*pi/180),0;0,0,1];
t3=c3*c2*c1;
% die Eulerwinkel der 3 Aufhaengungen im Koordinatensystem der Torsionsachse
k1=[p1,0,0;0,q1,0;0,0,r1];
k2=[p2,0,0;0,q2,0;0,0,r2];
k3=[p3,0,0;0,q3,0;0,0,r3];
% die Steifigkeiten der Aufhaengungen in allen Richtungen
K1=f1' *t1' *k1*t1*f1;
K2=f2' *t2' *k2*t2*f2;
K3=f3' *t3' *k3*t3*f3;
K=K1+K2+K3;
% die Steifigkeitsmatrix des Systems
M=[m,0,0,0,0,0;0,m,0,0,0,0;0,0,m,0,0,0;0,0,0,Jxx,-Jxy,-Jxz;0,0,0,-Jxy,Jyy,-Jyz;0,0,0,-Jxz,-Jyz,Jzz];
% die Massenmarix des Systems
[v,d]=eig(inv(M)*K);
for i=1:6
    P(i)=a(i,i);
end
for j=1:5
    for i=j+1:6
        if P(j)>P(i)
            t=P(i);
            P(i)=P(j);
            P(j)=t;
            q=v(:,i);
            v(:,i)=v(:,j);
            v(:,j)=q
        end
    end
end

但是运行时候总提示我错误》
??? Error using ==> struct2handle
Error while evaluating uicontrol CreateFcn.
??? Error: File: D:\Matlab2\Matlab\work\Berechnen.m Line: 1070 Column: 44
Missing variable or function.

怎么回事呢
我是Matlab新手,希望大家帮我下,谢谢了
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持1 反对反对0 微信微信
hugoczx        

33

主题

5

听众

274

积分

升级  87%

该用户从未签到

新人进步奖

如果这个就是程序的全部的话   问题就很多!  首先连符号变量都没有定义  如果不是符号变量 那么也应该声明。  如果是符号变量  后面调用时候应该转化吧! 哎!
回复

使用道具 举报

boyadong 实名认证       

1

主题

2

听众

8

积分

升级  3.16%

该用户从未签到

自我介绍
我的MATLAb恨烂
谢谢1楼的大大提醒,我是想输入x,y,z,p,q,r,u,v,w,(1,2,3),而且要让频率从小到大排列
然后输出到STATIC TEXT上面。
我是新手,希望1楼的大大再说清楚点。
我在每个需要输入的数据的function下面加了input = str2num(get(hObject,'String'));
然后为了调取这些输入的数据用在PUSH—Button 上面
又在BUTTON 的FUNCTION下面加了
m = str2num(get(handles.Hintergrund1_EditText,'String'));
Jxx = str2num(get(handles.Hintergrund1_EditText2,'String'));
Jyy = str2num(get(handles.Hintergrund1_EditText3,'String'));
Jzz = str2num(get(handles.Hintergrund1_EditText4,'String'));
Jxy = str2num(get(handles.Hintergrund1_EditText5,'String'));
Jxz = str2num(get(handles.Hintergrund1_EditText6,'String'));
Jyz = str2num(get(handles.Hintergrund1_EditText7,'String'));
x1 = str2num(get(handles.Hintergrund6_EditText1,'String'));
y1 = str2num(get(handles.Hintergrund6_EditText2,'String'));
z1 = str2num(get(handles.Hintergrund6_EditText3,'String'));
x2 = str2num(get(handles.Hintergrund7_EditText1,'String'));
y2 = str2num(get(handles.Hintergrund7_EditText2,'String'));
z2 = str2num(get(handles.Hintergrund7_EditText3,'String'));
x3 = str2num(get(handles.Hintergrund8_EditText1,'String'));
y3 = str2num(get(handles.Hintergrund8_EditText2,'String'));
z3 = str2num(get(handles.Hintergrund8_EditText3,'String'));
p1 = str2num(get(handles.Hintergrund6_EditText4,'String'));
q1 = str2num(get(handles.Hintergrund6_EditText5,'String'));
r1 = str2num(get(handles.Hintergrund6_EditText6,'String'));
p2 = str2num(get(handles.Hintergrund7_EditText4,'String'));
q2 = str2num(get(handles.Hintergrund7_EditText5,'String'));
r2 = str2num(get(handles.Hintergrund7_EditText6,'String'));
p3 = str2num(get(handles.Hintergrund8_EditText4,'String'));
q3 = str2num(get(handles.Hintergrund8_EditText5,'String'));
r3 = str2num(get(handles.Hintergrund8_EditText6,'String'));
u1 = str2num(get(handles.Hintergrund6_EditText7,'String'));
v1 = str2num(get(handles.Hintergrund6_EditText8,'String'));
w1 = str2num(get(handles.Hintergrund6_EditText9,'String'));
u2 = str2num(get(handles.Hintergrund7_EditText7,'String'));
v2 = str2num(get(handles.Hintergrund7_EditText8,'String'));
w2 = str2num(get(handles.Hintergrund7_EditText9,'String'));
u3 = str2num(get(handles.Hintergrund8_EditText7,'String'));
v3 = str2num(get(handles.Hintergrund8_EditText8,'String'));
w3 = str2num(get(handles.Hintergrund8_EditText9,'String'));
希望各位高手来帮帮忙
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2025-8-23 19:56 , Processed in 0.542136 second(s), 67 queries .

回顶部