① 物理問題用Matlab解題:一個半徑為5m的球形水罐充滿了水
主要是公式有點麻煩,matlab處理很簡單的。
水力學流量公式:dV/dt=0.62*pi*b^2*sqrt(2*g*h);%h為水面高度,以底部為原點
又微分公式:2*pi*r^2*dh=dV %%r為水面的半徑
還有公式就是r^2+(h-5)^2=R^2%這個公式應該能理解吧
由以上三個公式推導出t與h的關系:
dt=((h-5)^2-R^2)/(0.62*b^2*sqrt(2*g*h))dh
利用matlab積分即可。
>> f=inline('((x-5).^2-25)./(0.62*0.01*sqrt(2*9.8*x))');
>> quadl(f,10,0.5)
ans =
2.9889e+003
② 題目 利用Matlab軟體解決物理問題,問題如下: 在高度h=10m處以速度v=10m/s
m=1; %質量
>> h0=10;%高度
>> v0=10;%速度
>> g=10;%重力加速度絕對值
>> a=-g;%加速度
>> energy=m*g*h0+1/2*m*v0^2;
>> deltat=0.01;%步長
>> t=0:deltat:6; %時間0-6,步長0.01
>> v(1)=v0; %初始速度
>> h(1)=10; %初始高度
>> for i=2:length(t); %循環
v(i)=v(i-1)+a*deltat; %速度值
h(i)=(energy-1/2*m*v(i)^2)/m/g; %高度值
if floor(v(i)*10)==0% %如果速度向下取整為零,即達到最高點
a=-a;
end
[h(i) a v(i)]
if floor(h(i)*10)==0 %判定落地
a=-a;
energy=energy*(1-0.36); %能量損失
v(i)=sqrt(2*energy/m); %反彈後的速度
end
end
plot(t,h);
③ 大學物理題目,要用matlab
豎直方向上拋加自由落體,水平方向就是 ma+kv^2=0 這樣的常微分方程,這個方程還存在解析解,當然也可以用matlab求數值解,最後畫個彈道軌跡,頂多再研究一下炮彈發射角度和射程的關系,就是很好的完成作業了
④ 用matlab解大學物理題簡單嗎
用matlab解大學物理題簡單。因為將MATLAB軟體引入大學物理教學中,可以使抽象、復雜的問題簡單化,具體化,同時也可以獲得物理問題解的圖像。