当前位置:文档之家› matlab程序设计作业

matlab程序设计作业

matlab程序设计作业
matlab程序设计作业

Matlab程序设计作业

姓名:

学号:

专业:

? MATLAB 程序设计》作业

1、考虑如下x-y 一组实验数据:

x=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

y 二[1.2, 3, 4, 4, 5, 4.7, 5, 5.2, 6, 7.2]

分别绘出plot 的原始数据、一次拟合曲线和三次拟合曲线,给出

原始曲线

MATLAB 代码和运行结果。 7

6

5

4

3

2

2 3 4 5 6 7 8 9 10

7

6.5

6

5.5

5

4.5

4

3.5

3

2.5

10

一次拟合

三次拟合

x=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; y=[1.2, 3, 4, 4, 5, 4.7, 5, 5.2, 6, 7.2]; figure;

plot(x,y) p1=polyfit(x,y,1); y1=polyval(p1,x); figure;

plot(x,y1) p2=polyfit(x,y,3); y2=polyval(p2,x);

figure; plot(x,y2)

2、在[0, 3n区间,绘制y二Sin(x)曲线(要求消去负半波,即(n 2n)区间内的函数值置零),求出曲线y 的平均值,以及y 的最大值及其最大值的位置。给出执行代码和运行结果。

x=0:pi/1000:3*pi;

y=Sin(x);

y1=(y>=0).*y; %消去负半波figure(1);

plot(x,y1, 'b' );

a=mean(y1) %求出y1 的平均值

b=max(y1) %求出y1 的最大值b, 以及最大值在矩阵中的位置;

d=x(find(y1==b))

>> ex1

a =

0.4243

b =

1

d =

1.5708 7.8540

>>

1

0.9

0.8

0.7

0.6

0.5

0.4 -

0.3 -

0.2 -

0.1 -

3、给出函数z=x A2+y A2的三维曲面的绘制结果和MATLAB代码, x=-3:0.1:3;

y=-4:0.1:4;

[x,y]=meshgrid(x,y);

z=x.A2+y.A2;

mesh(x,y,z);

12 3

4

-2

-4 -4 -2

4、将一幅彩色图像文件转换为灰度图像,存储并显示转换后的灰度图像,给出运行结果和执行代码

x=imread( 'hehua.jpg' ); x=rgb2gray(x);

figure(1);

imshow(x);

h=figure(1); saveas(h,'gray.jpg');

原图

处理后图像

5、结合自身研究方向,自拟一题目,采用MATLAB语言实现一具有完整功能的算法,给出运行结果和执行代码。

题目:用遗传算法找函数的最大

fun cti on mai n()

clear

clc

popsize = 100; %种群大小

chromle ngth = 10; %二进制编码长度

pc = 0.6; %交叉概率

pm = 0.001; %变异概率

pop = in itpop(popsize,chromle ngth);

for i=1:100

[objvalue] = cal_objvalue(pop);

fitvalue = objvalue;

[n ewpop] = selecti on( pop,fitvalue);

[n ewpop] = crossover (n ewpop,pc);

[n ewpop] = mutati on(n ewpop,pm);

pop = n ewpop;

[best in

dividual,bestfit]=best(pop,fitvalue); x2 = bin ary2decimal(besti ndividual);

x1 = bin ary2decimal( newpop);

%初始种群

%十算适应度值(函数值)

%选择操作

%交叉操作

%变异操作

%更新种群

%寻找最优解

相关主题
文本预览
相关文档 最新文档