物理编程
⑴ 物理和编程有什么联系的地方么
编程会用到各个方面的知识,但是如果说和物理的直接关系,应该没有多少,除非你编写的是特定的软件,比如“愤怒的小鸟” 那个抛物线, 你懂得
⑵ 物理系学编程是python还是c程序设计比较好
物理系的学生都要学matlab的,要是对编程感兴趣的话任何语言都不是限制,如果是自学编程那么选择一些比较好上手的语言是很重要的,这里推荐python。
⑶ 软件编程跟物理有多大的关系
大学物理专业有两门课涉及编程:c语言,计算物理。但是其实编程和物理关系不大(本科而言)。
你只要明白c语言最基本的知识,像数据类型,循环语句什么的。会用Matlab就可以。
想继续硕博的话,就常常会需要用c、c++之类的编程做模拟。当然难度并不大,一般都是些500行以内的小程序。
⑷ 物理学领域的常用编程语言
矩阵类采用Matlab是非常得心应手的工具,
但是适合模型的验证却不适合用于大运算量的计算,
特别不适用于核物理和天文物理运算,
因为matlab是解释型语言,
运算速度较慢。
此外,matlab开发独立的可执行程序的运算速度也非常慢,
而且体积很大,我曾尝试过编写一个不超过30行的程序,
然而编译为独立的可执行程序大小达到了一百余兆。
但是,matlab是真正的多面手,
不断扩展的源包让它功能变得无比强大,
几乎可以用于所有学科的计算和建模,
跨越经济学,管理学,政治学,物理学,化学,数学,天文学,计算机,图象学,图形学,生物学,医学等等等等学科。
Mathematica在符号运算上具有不可比拟的优势,
较之matlab远为强大,
但是一方面其系统开销大于matlab,
另一方面,其语言风格和适应性还不好,
经常出现对正确的表达式报错的情况,
这主要是由于系统资源占用过大造成的,
解决办法是先对表达式手工化简,
然后再进行运算。
mathCad也是很强大的软件,
而且非常好看,
界面也十分友好,
一般用它进行微积分运算比较多。
maple没有用过,但是大名如雷贯耳,
值得一学。
线性规划求解软件lingo,lingdo
在物理学上也有应用,
而且使用非常方便,
只需要花几个小时就能上手。
由于其目的在于解线性规划问题,
因此其它功能相对较弱。
最后提一个和重要很着名的语言:
fortran,经典的科学应用语言,
值得一学,
早期学习光学的学者们的程序几乎全都是fortran的,
正如很多量子力学程序是用汇编语言写的一样。
想进一步了解的话可以在网上搜索,
内容很多
此外,matlab还有一些语法兼容的兄弟,
多为开源软件,可以在网上找到。
纠正楼上一个错误,
matlab本身不是采用java编写的,
而是java,c,c++和fortran的混合体,
核心代码是采用c编写的。
⑸ 物理专业的学生编程很厉害是怎样一种体验
您好,我目前就读的就是物理学专业,物理专业的学生编程很厉害这并不稀奇,因为大量的物理数据测算需要自己把数学公式编程为计算机语言。因此如果你想深入了解物理的话,学一门编程技术可以帮助你更好的进行物理科研
⑹ 理论物理领域常用的编程语言是什么
说得都不太确切,具体还得看方向,搞理论计算的 fortran 必备,当然还有 c++等,maple, mathematica只是常用工具,只用调用常用语言就行,不用专门编程。涉及到场论的要算圈图,所以相对用得多一点。还有一些搞理论模拟的,比如蒙多卡勒模拟也要用得多一些,这方面高能做得比较多。搞凝聚态的我就看他们用mathematic,也只是偶尔用下。当然其他绘图软件就不提了,至于我搞量子基础理论根本就不用。注意搞理论的物理概念才是第一位的,主要还是idea,一味编程就不是搞理论的了。
当然实验物理就不同了。
⑺ 学习物理的同学,为什么编程也很厉害
学习物理的同学不一定编程很厉害,但是可能比文科专业的同学厉害一点
因为物理也分很多方向的,有的方向需要用计算机编程,这个方向的同学就会厉害一点;有的不需要用,但是可能基础课里会安排一到两门编程课,学得好的话也算厉害吧,学得不好的话就不能说厉害
但是理工科来讲,普遍可能会安排或多或少的编程课,所以大部分理工科同学都会一点编程
⑻ 计算物理编程求解啊
#include<stdio.h>
#include<stdlib.h>
#include<iostream.h>
typedef struct data
{
float x;
float y;
}Data;//变量x和函数值y的结构
Data d[20];//最多二十组数据
float f(int s,int t)//牛顿插值法,用以返回插商
{
if(t==s+1)
return (d[t].y-d[s].y)/(d[t].x-d[s].x);
else
return (f(s+1,t)-f(s,t-1))/(d[t].x-d[s].x);
}
float Newton(float x,int count)
{
int n;
while(1)
{
cout<<"请输入n值(即n次插值):";//获得插值次数
cin>>n;
if(n<=count-1)// 插值次数不得大于count-1次
break;
else
system("cls");
}
//初始化t,y,yt。
float t=1.0;
float y=d[0].y;
float yt=0.0;
//计算y值
for(int j=1;j<=n;j++)
{
t=(x-d[j-1].x)*t;
yt=f(0,j)*t;
//cout<<f(0,j)<<endl;
y=y+yt;
}
return y;
}
float lagrange(float x,int count)
{
float y=0.0;
for(int k=0;k<count;k++)//这儿默认为count-1次插值
{
float p=1.0;//初始化p
for(int j=0;j<count;j++)
{//计算p的值
if(k==j)continue;//判断是否为同一个数
p=p*(x-d[j].x)/(d[k].x-d[j].x);
}
y=y+p*d[k].y;//求和
}
return y;//返回y的值
}
void main()
{
float x,y;
int count;
while(1)
{
cout<<"请输入x[i],y[i]的组数,不得超过20组:";//要求用户输入数据组数
cin>>count;
if(count<=20)
break;//检查输入的是否合法
system("cls");
}
//获得各组数据
for(int i=0;i<count;i++)
{
cout<<"请输入第"<<i+1<<"组x的值:";
cin>>d[i].x;
cout<<"请输入第"<<i+1<<"组y的值:";
cin>>d[i].y;
system("cls");
}
cout<<"请输入x的值:";//获得变量x的值
cin>>x;
while(1)
{
int choice=3;
cout<<"请您选择使用哪种插值法计算:"<<endl;
cout<<" (0):退出"<<endl;
cout<<" (1):Lagrange"<<endl;
cout<<" (2):Newton"<<endl;
cout<<"输入你的选择:";
cin>>choice;//取得用户的选择项
if(choice==2)
{
cout<<"你选择了牛顿插值计算方法,其结果为:";
y=Newton(x,count);break;//调用相应的处理函数
}
if(choice==1)
{
cout<<"你选择了拉格朗日插值计算方法,其结果为:";
y=lagrange(x,count);break;//调用相应的处理函数
}
if(choice==0)
break;
system("cls");
cout<<"输入错误!!!!"<<endl;
}
cout<<x<<" , "<<y<<endl;//输出最终结果
}
⑼ 物理学和编程有什么关系
关系1、都用智力
2.都讲逻辑
3.编程是在计算机的物理电路原理的基础上的
4.编程可以模拟物理实验
⑽ 我是物理专业的,怎样学习编程,并和我的专业结合
多用用Multisim,电子线路软件;WorkBech5.0c电子实验室软件;Pspice6.2版电路仿真软件;PROTEL电路设计软件;还有好些用于量子物理计算(例如傅立叶变换、拉普拉斯变化计算)的计算软件,如果有兴趣,都可以尝试一下。