編程建模、物理建模和數學建模有什麼關係和區別?
都是建模。但他們之間好像不盡相同。
編程似乎是用來建模數學的,數學是用來建模物理的,物理是用來建模現實的?編程也可以直接建模現實?
比較亂,問題好像變成了:編程,數學和物理是什麼關係?或者:編程活動的目的是什麼?
數學研究的目的是什麼?物理研究的目的是什麼?
數學建模強調使用數學方式對一個抽象問題進行表述。
物理建模強調對一個世紀物理現象通過已有的或新創造但自洽的理論模型對問題進行描述。
計算建模為對給定的數學模型,建立一套可以進行解析計算或數值計算(誤差符合要求)的演算法。
比方說,小球從10米高的地方從靜止狀態開始下落,落到地需要多久這麼個問題。
物理建模就是得到近地表地心引力為加速度,自由落體,下落期間加速度變化可以忽略,空氣阻力影響可以忽略,H=gt^2/2。
數學建模就是對於這個方程,g已知,H已知,求t,解此二次方程的正實根。
計算建模就是,這是個常數規模的計算,直接返回結果即可,為sqrt{2H/g}個人理解,僅供參考:
物理建模就是將現實生活中複雜的問題進行簡化、抽象。經典例子:《生活大爆炸》里「真空中的球形雞」的梗(感興趣的可以看看);
數學建模就是把物理建模得到的問題用數學方法描述出來,這個過程中可能會進行進一步的簡化與抽象。一個數學模型有可能可以描述多個物理問題,例如經典的二階常微分模型適用於熱力學、流體力學、結構力學等多種問題;也可能一個物理問題也解決不了,純是數學家們為了秀智商優越發明的,這個我暫時沒法給出例子(書到用時方恨少),但相信大家在學大學數學(微積分、概率論、線性代數)時也經常會有這種體會:我在生活中怎麼可能用到這些東西??!!但實際上大學數學內容都是非常經典的數學方法,如果將來進行研究工作就會深有體會。
編程建模是考慮到計算機的特性:離散性。數學裡常見的函數多是連續的,微分dx是個極限概念,但在電腦計算時,它只可能用一個很小的數來指代dx,這樣運算才能進行。因為計算機的能力和效率問題,不得不把數學模型進一步進行修改,讓它適合計算機的運算。我接觸比較多的有兩個:傅里葉變換(數學)=&>離散傅里葉變換=&>快速傅里葉變換演算法(計算機);微分方程(數學)=&>狀態空間模型(數學/計算機)。
非物理、數學、計算機專業,如果覺得答得不好還望輕噴。。。
推薦閱讀: