Re: [問題] 初學者剛學請問我程式哪裡有錯 拋射體問題已回收

看板MATLAB作者 (凱文踢)時間16年前 (2009/03/09 01:10), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《rlyeaen (qqq)》之銘言: 題目是一個物體從高度六公尺的地方滑下來 水平速度是12 m/s 請問所需要時間是多少 g=-9.81 % 拋射體時間計算 >>% 設定重力加速度 >>clear;g=-9.81; >>% 輸入起始速度 >>vOa=input('輸入起始速度大小'); ^^^ 這個是大寫o 你應該是想要數字0吧 >>while v0a<0 >>disp('速度必須為正值') >>vOa=input('輸入起始速度大小'); ^^^ 這個也是大寫o 不過這個參數也沒用到 不知為何 水平速度嗎@@ >>end >>% 輸入高度 >>y=input('輸入高度'); >>%落地高度 >>y0=0; >>%垂直速度 >>v0y=0; >>% 計算落地時間 >>y=y0+v0y*t+1/2*g*t.*t; matlab沒這麼聰明阿 方程式寫好他就算給你答案了 像a = b這種寫法 邏輯應該是把b的值算好 再傳到a參數裡 所以此時t是未知數 理論應該上t應該也要在等號左邊 >>% 輸出結果 >>disp('落地時間='); >>disp(t); 怎麼run都run不出來... 請教各位大大了謝謝 %% 所以勒 我想應該可以這樣寫.. %% clear, close all;clc; g = -9.81; % m/(s^2) v0a = input('輸入起始速度大小(m/s):'); while v0a < 0 disp('速度必須為正值') v0a = input('輸入起始大小速度(m/s):'); end y = (-1)*input('輸入高度(m):'); y0 = 0; v0y = 0; t = roots([1/2*g v0y y0-y]); disp(['落地時間(s) = ']) disp(t) %% 這是騙p幣的一篇XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.124.157.241 -- ╔═╦═╗ ╔═╗ ╔═══╗ ╭──╮ ║ ║╔══╗╔═╦╗╔═╗╔══╗║ ║ ╰╮ ║ ╣║ ═ ║║ ║║ ║║ ║║ ║ ║ ║║ ╣║ ║║ ║║ ║╚╗ ╔╝ ╚═╩═╝╚══╝╚══╝╚═╝╚═╩╝ ╚═╝ →→→→ http://www.wretch.cc/album/kevint ←←←← By luh4 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.167.21.230 ※ 編輯: KevinT 來自: 218.167.21.230 (03/09 01:11)

03/09 12:55, , 1F
感謝K大~
03/09 12:55, 1F
文章代碼(AID): #19i_m6bE (MATLAB)
文章代碼(AID): #19i_m6bE (MATLAB)