Re: [問題] 可以幫我看一下u該如何跑出?已回收
※ 引述《agersir (格先生)》之銘言:
: 請問各位高手,我想將我的以u的圖形跑出來!!!
: 可是像沒有辦法唉!!
: 不知道是不是程式有打錯嗎??
: 有高手可以幫我瞄一下嗎??
: ------------------------------------------------------------
: function new403
: close all;
: clear;
: clc;
: global i
^^^^^^^^^
不需要吧?
: i=1;
: [t x] = ode45(@controller2,[0 2],[0.003,0]);
: plot(t,x)
: s=size(x);
: size(t);
: function dx = controller2(t,x)
: global i
^^^^^^^^
不需要吧?
: d = 4;
: k = 0.00387;
: m = 0.0793;
: R = 24;
: L = 0.12829;
: g = 9.8;
: n = 0.008;
: V = 0.5*(d^2+1)*x(1)^2+d*x(2)*x(1)+0.5*x(2)^2;
: a = ((d^2+1)*x(1)+d*x(2))*x(2);
: b = (d*x(1)+x(2))*-(k/m)/((x(1)-n)^2);
^^
很怪
: u =-(a+sqrt(a^2+b^4))/b;
: ug=g*((x(1)-n)^2)/(k/m);
: ut=ug+u;
: dx=zeros(2,1);
: dx(1) = x(2);
: dx(2) = g-(k/m)*(ut/((x(1)-n)^2));
大概是這樣子
------------------------------------------------
function new403
close all;
clc
global d k m R L g n
d = 4;
k = 0.00387;
m = 0.0793;
R = 24;
L = 0.12829;
g = 9.8;
n = 0.008;
i=1;
[t x] = ode15s(@controller2,[0 2],[0.003;0]);
figure(1)
plot(t,x)
%
V = 0.5.*(d.^2+1).*x(:,1).^2+d.*x(:,2).*x(:,1)+0.5.*x(:,2).^2;
a = ((d.^2+1).*x(:,1)+d.*x(:,2)).*x(:,2);
b = (d.*x(:,1)+x(:,2)).*-(k./m)./((x(:,1)-n).^2);
u =-(a+sqrt(a.^2+b.^4))./b;
ug=g.*((x(:,1)-n).^2)./(k./m);
ut=ug+u;
figure(2)
plot(t,ug,t,ut)
s=size(x);
size(t);
function dx = controller2(t,x)
global d k m R L g n
V = 0.5*(d^2+1).*x(1)^2+d.*x(2).*x(1)+0.5.*x(2).^2;
a = ((d.^2+1).*x(1)+d.*x(2)).*x(2);
b = (d*x(1)+x(2))*-(k./m)./((x(1)-n)^2);
u =-(a+sqrt(a^2+b^4))/b;
ug=g*((x(1)-n)^2)/(k/m);
ut=ug+u;
dx=zeros(2,1);
dx(1) = x(2);
dx(2) = g-(k/m)*(ut/((x(1)-n)^2));
---------------------------------------------------
試看看
--
1.MATLAB programming 2.ASPEN process simulation package
3.FORTRN programming 4.Advance Engineering Mathematics
5.Process Control Theory
6.Chemical Engineering Basic Theory(Kinetic.thermodynamics.transport)
7.Numerical Method and Analysis
8.MATLAB Toolbox.Simulink system basic design
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 113.160.148.219
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):