1樓:
假設a追b,b追c,c追d,d追a;
以b作為參考系,那麼a就朝b方向做速度為v的勻速直線運動,顯然當他追上b時,需要走的路程是初始條件下ab的距離,即正方形邊長,設為l,時間則為l/v
求軌跡解析的方法需要解微分方程組,在matlab下可以用數值方法來做。假設正方形邊長為1,將整個過程分為1000步來實現:
1.確定初始值;
2.根據t時刻4個點的的座標,求出t+1時刻的座標
3.繪製曲線
當然這樣做存在誤差,減小誤差的方法是減小步長。
m檔案:
clear all;clc;close all;
ax=zeros(1,1000);ay=ax;% 存放四個點的軌跡座標
bx=zeros(1,1000);by=bx;
cx=zeros(1,1000);cy=cx;
dx=zeros(1,1000);dy=dx;
ax(1)=0;ay(1)=0; %初始座標
bx(1)=1;by(1)=0;
cx(1)=1;cy(1)=1;
dx(1)=0;dy(1)=1;
for t=1:999
ax(t+1)=ax(t)+0.001*(bx(t)-ax(t))/sqrt((bx(t)-ax(t))^2+(by(t)-ay(t))^2);%a向b前進了千分之一
ay(t+1)=ay(t)+0.001*(by(t)-ay(t))/sqrt((bx(t)-ax(t))^2+(by(t)-ay(t))^2);
bx(t+1)=bx(t)+0.001*(cx(t)-bx(t))/sqrt((cx(t)-bx(t))^2+(cy(t)-by(t))^2);
by(t+1)=by(t)+0.001*(cy(t)-by(t))/sqrt((cx(t)-bx(t))^2+(cy(t)-by(t))^2);
cx(t+1)=cx(t)+0.001*(dx(t)-cx(t))/sqrt((dx(t)-cx(t))^2+(dy(t)-cy(t))^2);
cy(t+1)=cy(t)+0.001*(dy(t)-cy(t))/sqrt((dx(t)-cx(t))^2+(dy(t)-cy(t))^2);
dx(t+1)=dx(t)+0.001*(ax(t)-dx(t))/sqrt((ax(t)-dx(t))^2+(ay(t)-dy(t))^2);
dy(t+1)=dy(t)+0.001*(ay(t)-dy(t))/sqrt((ax(t)-dx(t))^2+(ay(t)-dy(t))^2);
endfigure;
plot(ax,ay,bx,by,cx,cy,dx,dy);
2樓:產業投資小茶館
function zhuigan
x1=0;
y1=0;
x2=0;
y2=1;
x3=1;
y3=1;
x4=0;
y4=1;
l=0.1;
theta21 = atan2(y2-y1,x2-x1);
theta32 = atan2(y3-y2,x3-x2);
theta43 = atan2(y4-y3,x4-x3);
theta14 = atan2(y1-y4,x1-x4);
for ii=1:1:10
x1(ii+1) = x1(ii)+l*cos(theta21);
y1(ii+1) = y1(ii)+l*sin(theta21);
x2(ii+1) = x2(ii)+l*cos(theta32);
y2(ii+1) = y2(ii)+l*sin(theta32);
x3(ii+1) = x3(ii)+l*cos(theta43);
y3(ii+1) = y3(ii)+l*sin(theta43);
x4(ii+1) = x4(ii)+l*cos(theta14);
y4(ii+1) = y4(ii)+l*sin(theta14);
endt=1:11;
plot(x1(t),y1(t),'k',x2(t),y2(t),'r',x3(t),y3(t),'b',x4(t),y4(t),'g')
用單純形法求解下述線性規劃問題,用單純形法求解以下線性規劃問題
原引入鬆弛變數x4,x5,x6,將原模型轉換為最小化模型,變形為minw 100x1 200x2 st.x1 x2 x3 500 x1 x4 200 2x1 6x2 x5 1200 x1.x5 0 利用單版純型表看 可計算得minw 140000 3此時,權x 200,400 3 方法就是這樣 計算...
matlab程式設計問題,matlab程式設計問題,題目如下
提示的很清楚了啊 error using inputs must be a scalar and a square matrix.to pute elementwise power,use power instead.用冪的時候如果次數為一向量或矩陣,應當用.而單用 是不行專的。希望可屬以幫到你。m...
matlab錯誤使用datenum line 75 輸入
是在說datenum這個函式輸入值個數太少了,可能本身預設3個,你只輸入了兩個,所以出錯。建議你help datenum一下。matlab錯誤使用 feedback line 71 輸入引數的數目不足。就是當執行函式的時候,沒有提供足夠的引數。比如,如果需要計算一個數 x 的正弦值,那麼,如果不給定...