可视化计算离线作业冬资料.docx
- 文档编号:28093526
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:25
- 大小:482.17KB
可视化计算离线作业冬资料.docx
《可视化计算离线作业冬资料.docx》由会员分享,可在线阅读,更多相关《可视化计算离线作业冬资料.docx(25页珍藏版)》请在冰豆网上搜索。
可视化计算离线作业冬资料
浙江大学远程教育学院
《可视化计算》课程作业2015年(冬)
姓名:
夏林
学号:
715099012001
年级:
2015年秋
学习中心:
洞头学习中心
—————————————————————————————
注意:
所有图像的标题必须呈现足够你本人信息
1.(10分)求解下列线性方程组的解:
2.(10分)信号y=5*sin(pi*20*t)+3*cos(2*pi*50*t)幅度为1的白噪声的干扰,请画出此信号,然后进行傅立叶变换,画出变换后的频域信号。
代码:
clear;
title('夏林715099012001')
t=0:
0.001:
0.6;
y=5*sin(pi*20*t)+3*cos(2*pi*50*t);
y=y+randn(1,length(t));
subplot(1,2,1)
plot(t,y)
title('夏林')
xlabel('变换前信号')
Y=fft(y,512);
subplot(1,2,2)
Y=real(Y);
plot(Y(1:
512))
title('715099012001')
xlabel('变换后的频域信号')
图像
3.(10分)在空间有一个带正电的点电荷,请画出此点电荷的空间电位分布与电场强度的空间分布图。
clear;
subplot(1,2,1)
[x,y]=meshgrid(-4:
0.2:
4,-4:
0.2:
4);
z=1./sqrt(x.^2+y.^2+0.01);
mesh(x,y,z)
title('夏林')
subplot(1,2,2)
[x,y]=meshgrid(-2:
0.1:
2,-2:
0.1:
2);
z=1./sqrt((x).^2+y.^2+0.01);
[dx,dy]=gradient(z);
contour(x,y,z,[-12,-8,-5,-3,-1,-0.5,-0.1,0.1,0.5,1,3,5,8,12]);
holdon
quiver(x,y,dx,dy)
title('715099012001')
4.(10分)仿照课本第11章的太阳|地球|月亮|卫星,绕转动画实例,呈现地球绕太阳运转的动画。
figure('name','地球绕太阳转动');
title('夏林715099012001')
s1=[0:
.01:
2*pi];
holdon;axisequal;
axisoff
r1=10;
w1=1;
t=0;
pausetime=.002;
sita1=0;sita2=0;
set(gcf,'doublebuffer','on')
plot(-20,18,'color','r','marker','.','markersize',40);
text(-17,18,'太阳');
p1=plot(-20,16,'color','b','marker','.','markersize',20);
text(-17,16,'地球');
plot(0,0,'color','r','marker','.','markersize',60);
plot(r1*cos(s1),r1*sin(s1));
set(gca,'xlim',[-2020],'ylim',[-2020]);
p1=plot(r1*cos(sita1),r1*sin(sita1),'color','b','marker','.','markersize',30);
while1
set(p1,'xdata',r1*cos(sita1),'ydata',r1*sin(sita1));
sita1=sita1+w1*pausetime;
pause(pausetime);
drawnow
End
图在下面-----截的图不会动在matlab中是逆时针转
5.(10分)设计一个低通滤波器,从混合信号:
x(t)=sin(2*pi*10*t) + cos(2*pi*100*t) + 0.2*randn(size(t))
中获取10Hz的信号(10分)。
代码:
clear;
ws=1000;
t=0:
1/ws:
0.4;
x=3*sin(2*pi*10*t)+2*cos(2*pi*100*t)+0.8*randn(size(t));
wn=ws/2;
[B,A]=butter(10,30/wn);
y=filter(B,A,x);
plot(t,x,'b-')
holdon
plot(t,y,'r','MarkerSize',10)
legend('input','Output')
xlabel('715099012001')
ylabel('夏林')
图:
6.(20分)设计一个程序,应用函数subplot(1,2,1)、subplot(1,2,2)分别显示您本人的二张照片,然后对二张照片分别进行傅立叶变换,并分别画出变换后的频域信号。
再把2个频域信号相加,经傅立叶逆变换后,显示时域信号的图像。
显示图片代码:
clear;
A=imread('D:
\lin4.jpg');
subplot(1,2,1)
imshow(A);
title('夏林')
B=imread('D:
\lin3.jpg');
subplot(1,2,2)
imshow(B);
title('715099012001')
二张照片分别进行傅立叶变换
A1=fft2(A);
B1=fft2(B);
subplot(1,2,1);imshow(A1)
title('夏林')
subplot(1,2,2);imshow(B1)
title('715099012001')
图
频域信号相加后经傅立叶逆变换
C1=A1+B1;
C=ifft2(C1);
imshow(C)
xlabel('715099012001');
ylabel('夏林');
图
7.(30分)小论文
根据工作中的实际需要,请设计一个实际工程问题的可视化。
可以选择以下之一:
(1)工程动画的可视化;
(2)大数据处理中的可视化;(3)算法与模型计算的可视化;(4)实际生产流程的可视化;(5)或其它有创新意义的可视化科学计算。
要求:
(1)题目有实际意义。
(2)有分析、算法描述
(3)程序源代码设计。
(4)问题结果有可视化显示。
(4)题目的问题有一定的新意。
小论文的字数不能少于2500字,格式由下列各部分组成:
MATLAB
在实验数据处理的应用
——以中学物理实验为例
摘要:
本文以中学物理实验为例,
介绍了
MATLAB
软件处理物理实验
数据的方法,包括描点、连线、数据拟合及其他适用于大量数据录入
的外部数据导入方法,并小结了计算机作图与手工绘图的优缺点。
关键词:
MATLAB
、中学物理、实验数据、绘图
通过记录、
分析实验测得的数据,
得出实验结论,
找出实验规律,
这样一个过程称为数据处理。
中学物理实验进行数据处理的方法一般
有列表法、
作图法、
逐差法及计算机辅助处理数据等。
运用
MATLAB
软件处理实验数据属于计算机辅助处理数据,
包括作图、
数据拟合等
方法。
1
、描点和连线
在坐标纸上将实验数据间的对应关系描绘成图线,
再由图线求出
相应物理量间的关系,从而得出实验结论的数据处理方法叫做图像
法,又称作图法。
手工利用图像法处理数据一般有以下几个步骤:
(1)先将所测数据列表;
(2)以相应的物理量为横轴、纵轴在方格纸上建立坐标轴,定
出标度;
(3)描点;
(4)连线;
(5)注明必要说明。
应用
MATLAB
中
plot
函数直接画图,进行对比。
【例1】滑动变阻器分压电路的实验研究。
连接好分压电路,完成测量。
第一步,将数据依次录入,构成两个向量L,U;
>>
L=[0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85
90 95 100];
>>U=[0.16 0.60 0.81 0.93 0.99 1.04 1.08 1.11
1.13 1.15 1.16 1.172 1.185 1.195 1.20 1.21 1.215
1.22 1.225 1.23 1.232];
第二步,应用
plot
函数数据点描出来,用小圆圈“
o
”表示,再
将数据点用细线“
-
”连起来;
>> plot(L,U,'o',L,U,'-');
最后,应用网格功能,打开当前坐标轴的网格线。
>>grid on
作图如图1所示。
>>title('
图
1
分压电路输出电压与滑动变阻器的关系
');
>> xlabel('x/
格
');
>> ylabel('U/V');
图像表明,随着滑动变阻器的滑动,分压电路的输出电压逐渐增大。
2、数据拟合
对于已知离散的一组数据(xi,yi),构造一个函数,使在原离散点xi上尽可能接近给定的yi值,这一过程称为曲线拟合。
最常用的曲线拟合方法是最小二乘法,该方法是寻找函数y=f(x)使得Σ[f(xi)-yi]最小。
从几何意义上讲,就是寻求与给定点(xi,yi)(i=0,1,…,m)的距离平方和为最小的曲线y=f(x)。
所以最小二乘法又称最小平方法.
MATLAB软件多项式曲线拟合函数为:
p=polyfit(x,y,n)或[p,S]=polyfit(x,y,n)
说明:
x,y为数据点,n为多项式阶数,返回为幂次从高到低的多项式系数向量p。
x必须是单调的。
矩阵S用于生成预测值的误差估计。
高中实验大多采用线性拟合,即取n=1。
多项式曲线求值函数:
polyval(),其调用格式:
y=polyval(p,x)
y=polyval(p,x)函数返回n阶多项式在x的计算值。
输入的参数p是n阶幂次从高到低的多项式的系数向量,向量长度为n+1。
【例2】测电源的电动势和内阻。
应用原理:
闭合电路欧姆定律ε=Ir+U
转换可得U=-Ir+ε
>>clf;clearall;
I=[0.020.100.180.260.340.420.500.580.660.740.820.90];
U=[1.451.331.211.090.970.850.930.610.490.370.250.13];
plot(I,U,'*');%描点
holdon
P=polyfit(I,U,1)%拟合
i1=0.00:
0.02:
1.00;
u1=polyval(P,i1);
plot(i1,u1);%画线
gridon
axis([0101.5]);
xlabel('I/A','fontsize',12);
ylabel('U/V','fontsize',12);
title('图2测电源的电动势和内电阻','fontsize','14');
求得P=-1.49131.4926
即拟合所得的一次函数为
U=-1.4913I+1.4926
根据U=-Ir+ε,可得
r=1.4913Ωε=1.4926V
作图如图2所示。
由图可知,第7组数据(0.500.93)偏离较大,可以把这组数据去掉,再拟合一次。
3、实验数据文件读入
MATLAB允许用户调用在MATLAB环境之外定义的矩阵。
首先利用文本编辑器编辑所要使用的矩阵,矩阵元素之间以特定分割符分开,一般采用空格分隔,并按行列布置。
MATLAB利用load函数,其调用方法为:
Load+文件名[参数]
Load函数将会从文件名所指定的文件中读取数据,并将输入的数据赋给以文件名命名的变量,如果不给定文件名,则将自动认为matlab.mat文件为操作对象,如果该文件在MATLAB搜索路径中不存在时,系统将会报错。
【例3】测电源的电动势和内阻的其他处理方法。
第一步,将例2测电源的电动势和内阻实验中电流、电压第7组数据去掉,保存在记事本或WORD中;
0.020.100.180.260.340.420.580.660.740.820.90
1.451.331.211.090.970.850.610.490.370.250.13
保存名:
数据I-U.txt,保存路径为F:
\可视化计算\;
第二步,在MATLAB中利用load函数读取数据;
第三步,在计算机屏幕上绘出图线,显示数据;
最后,直线拟合。
输入程序如下:
symsIUx;
x=load('F:
\可视化计算\数据I-U.txt');
I=x(1,:
);
U=x(2,:
);
plot(I,U,'*');%描点
holdon
P=polyfit(I,U,1)%拟合
i1=0.00:
0.02:
1.00;
u1=polyval(P,i1);
plot(i1,u1);%画线
axis([0101.5]);
xlabel('I/A','fontsize',12);
ylabel('U/V','fontsize',12);
title('图3测电源的电动势和内电阻','fontsize','14');
求得P=-1.50001.4800
即拟合所得的一次函数为
U=-1.5000+1.4800I
根据U=-Ir+ε,可得
r=1.50Ωε=1.48V
如图3所示。
用MATLAB进行物理实验数据处理,尤其是用最小二乘法进行直线拟合,不但方便,而且相当精确。
4、实验图像变换
【例4】闭合电路中电流和外电阻关系的探究实验.
该实验原理为全电路欧姆定律E=I(R+r),电流和外电阻关系为I=
,化曲为直后
。
其中一次实验数据如下:
R=[1.62.12.23.24.25.6];
I=[2.252.001.671.501.251.00]
为探究电流和电阻关系,尝试作出I-R折线图,
折线图,
拟合图,
修正后拟合图。
第一步,作出I-R折线图,程序如下:
subplot(2,2,1);
plot(R,I,'-bd');
ylabel('I/A','fontsize',12);
xlabel('R/Ω','fontsize',12);
title('图4I-R描点、连折线图');
gridon
第二步,作出
折线图,程序如下:
subplot(2,2,2);
plot(R,1./I,'-rs');
ylabel('$${1\overI}/{A^{-1}}$$','interpreter','latex');
%$${1\overI}/{A^{-1}}$$是利用MathType得到的公式代码
xlabel('R/Ω','fontsize',12);
title('图51/I-R描点、连折线图');
gridon
第三步,作出
拟合图,程序如下:
subplot(2,2,3);
plot(R,1./I,'-rs');
holdon;
P1=polyfit(R,1./I,1)
R=0:
0.2:
6;
Ids1=polyval(P1,R);
plot(R,Ids1);
ylabel('$${1\overI}/{A^{-1}}$$','interpreter','latex');
%$${1\overI}/{A^{-1}}$$是利用MathType得到的公式代码
xlabel('R/Ω','fontsize',12);
title('图61/I-R直线拟合图');
Gridon
由
拟合图,求得
P1=
0.13380.2469
根据
可知,
=0.1338V-1,
=0.2469A-1,即E=7.47V,r=1.84Ω。
第3个数据点误差较大,宜舍去,再对剩下5组进行数据拟合。
第四步,作出
修正后拟合图,程序如下:
subplot(2,2,4);
R2=[1.62.13.24.25.6];
I2=[2.252.001.501.251.00];
plot(R2,1./I2,'-rs');
holdon;
P2=polyfit(R2,1./I2,1)
R2=0:
0.2:
5.6;
Ids2=polyval(P2,R2);
plot(R2,Ids2);
ylabel('$${1\overI}/{A^{-1}}$$','interpreter','latex');
%$${1\overI}/{A^{-1}}$$是利用MathType得到的公式代码
xlabel('R/Ω','fontsize',12);
title('图71/I-R直线拟合图(去点)');
gridon
由
修正后拟合求得
P2=
0.14010.2143
根据
可知,
=0.1401V-1,
=0.2143A-1,即修正后E=7.14V,r=1.53Ω。
5、手工绘图与计算机作图的优缺点对比
对于实验获得的数据,若是通过手工来逐点计算、坐标纸描点、连线绘制曲线,较费时费力,而且手工绘制的曲线在人工读取数据时,往往因人而异,斜率、截距等依据作图法得到的数值,存在较大的偶然误差,精度难以保证。
而计算机作图精度高、速度快、修改方便,并且多次绘图的精度可保持一致。
关于手工绘图和计算机作图的优缺点比较,现代科学工程技术人员有一种“俏皮”的说法:
“手工绘图跟计算机作图比,没有优点;计算机作图跟手工绘图比,没有缺点;如果非要说出手工作图的优点,那就是锻炼了手脑协调能力。
”
参考文献
1石辛民,翁智.计算方法及其MATLAB实现,北京:
清华大学出版社,2013.08
2胡建国,朱国强.滑动变阻器两种供电方式选择的可视化教学法.物理通报,2013(4)
3朱国强.处理实验数据——MATLAB软件教学中的应用之四.物理通报,2015
(2)
4朱国强.绘制物理图象——MATLAB软件教学中的应用之二.物理通报,2014(8)
5申慧娟.物理实验数据的软件处理.物理通报,2013(5)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可视化 计算 离线 作业 资料