[討論] 求高手大大幫忙

看板MATLAB作者 (大大腸)時間12年前 (2013/06/27 08:16), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
我是matlab新手 但是學校出了一個用ode23解ode的作業 能幫我看看我哪邊有錯嗎 跑出來的結果 Error using nargout Error: File: func_1.m Line: 32 Column: 82 Unexpected MATLAB expression. Error in odearguments (line 35) if exist(ode)==2 && ( nargout(ode)<3 && nargout(ode)~=-1 ) Error in ode23 (line 113) [neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ... Error in Main (line 4) [t,x]=ode23('func_1',[1;2;5./57.3;1;1;0;0;0;0]); 以下是副程式程式碼 function xdot=func_1(t,x) xdot(1)=x(4); xdot(2)=x(5); xdot(3)=x(6); %Kp值在主程式 tou1=Kp*(x(1)-xd)+Kd*x(4); tou2=Kp*(x(2)-yd)+Kd*x(5); tou3=Kp*(x(3)-sid)+Kd*x(6); tou=[tou1;tou2;tou3]; s=sin(x(3));c=cos(x(3));tan=tan(x(3)); J=[c -s 0;s c 0;0 0 1]; tou4=inv(J')*tou; Ix=18.41;Iz=14.32;dn=0;Xudot=0;Yvdot=0;Yrdot=0;m=1.8782;Xg=2;Nrdot=0; m11=m-Xudot;m22=m-Yvdot;m33=Ix-Nrdot;m23=m*Xg-Yrdot;m32=m*Xg-Yrdot;c13=-(m-Yvdot)v-(m*Xg-Yrdot)*x(9);c31=-c13;c33=0 M=[m11*cos(x(3)^2)+m22*sin(x(3)^2) m11*cos(x(3))*sin(x(3))-m22*cos(x(3))*sin(x(3)) -m23*sin(x(3)) m11*cos(x(3))*sin(x(3))-m22*cos(x(3))*sin(x(3)) m11*cos(x(3)^2)+m22*sin(x(3)^2) m23*sin(x(3)) -m23 m23*cos(x(3)) m33]; C=[-xdot(3)*sin(x(3))*cos(x(3))*(m11-m22) xdot(3)*(m11-m11*sin(x(3)^2)+m22sin(x(3)^2)) c13*cos(x(3))-c23sin(x(3)) xdot(3)*m11*cos(x(3)^2)-xdot(3)*m11-xdot(3)*m22*cos(x(3)^2) xdot(3)*cos(x(3))*sin(x(3))*(m11-m22) c23*cos(x(3))+C13*sin(x(3)) c23*sin(x(3))-c13*cos(x(3))-xdot(3)*m23*cos(x(3)) -c23*cos(x(3))-c13*sin(x(3))-xdot(3)*m23*sin(x(3)) c33]; G=inv(M)*(-C); xdot(4)=(G(1,1)*x(4)+G(1,2)*x(5)+G(1,3)*x(6))+G(1,1)*tou4(1,1); xdot(5)=(G(2,1)*x(4)+G(2,2)*x(5)+G(2,3)*x(6))+G(2,1)*tou4(2,1); xdot(6)=(G(3,1)*x(4)+G(3,2)*x(5)+G(3,3)*x(6))+G(3,1)*tou4(3,1); xdot(7)=(1/m)*x(9)*x(8)+tou1/m; xdot(8)=(1/m)*(-x(7))*x(9)+tou2/m; xdot(9)=0+tou3/Iz; xdot=xdot' 主程式程式碼 clear all;clc;close all; [t,x]=ode23('func_1',[1;2;5./57.3;1;1;0;0;0;0]); xd=0; yd=200; sid=atan((yd-x(2))/(xd-x(1))); Kp=500; Ki=0; Kd=0.2; figure(1); plot(x(:,1),x(:,2)); xlabel('x');ylabel('y'); grid on; hold on; 麻煩您了 因為是新手 程式碼很臭很長 可以幫我糾正一下哪邊有錯 小弟會感激不盡的 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.130.182
文章代碼(AID): #1HouHSEU (MATLAB)