matlab实验五
- 格式:docx
- 大小:264.74 KB
- 文档页数:13
实验五 用matlab 求二元函数的极值1.计算二元函数的极值对于二元函数的极值问题,根据二元函数极值的必要和充分条件,可分为以下几个步骤: 步骤1.定义二元函数),(y x f z =.步骤2.求解方程组0),(,0),(==y x f y x f y x ,得到驻点.步骤3.对于每一个驻点),(00y x ,求出二阶偏导数22222,,.z z z A B C x x y y ∂∂∂===∂∂∂∂ 步骤4. 对于每一个驻点),(00y x ,计算判别式2B AC -,如果02>-B AC ,则该驻点是极值点,当0>A 为极小值, 0<A 为极大值;如果02=-B AC ,需进一步判断此驻点是否为极值点; 如果02<-B AC 则该驻点不是极值点.2.计算二元函数在区域D 内的最大值和最小值设函数),(y x f z =在有界区域D 上连续,则),(y x f 在D 上必定有最大值和最小值。
求),(y x f 在D 上的最大值和最小值的一般步骤为:步骤1. 计算),(y x f 在D 内所有驻点处的函数值;步骤2. 计算),(y x f 在D 的各个边界线上的最大值和最小值;步骤3. 将上述各函数值进行比较,最终确定出在D 内的最大值和最小值。
3.函数求偏导数的MATLAB 命令MATLAB 中主要用diff 求函数的偏导数,用jacobian 求Jacobian 矩阵。
可以用help diff, help jacobian 查阅有关这些命令的详细信息例1 求函数32824-+-=y xy x z 的极值点和极值. 首先用diff 命令求z 关于x,y 的偏导数>>clear; syms x y;>>z=x^4-8*x*y+2*y^2-3;>>diff(z,x)>>diff(z,y)结果为ans =4*x^3-8*yans =-8*x+4*y即.48,843yxyzyxxz+-=∂∂-=∂∂再求解方程,求得各驻点的坐标。
实验五1、 编写程序,该程序在同一窗口中绘制函数在[]0,2π之间的正弦曲线和余弦曲线,步长为200/π,线宽为 2 个象素,正弦曲线设置为蓝色实线,余弦曲线颜色设置为红色虚线,两条曲线交点处,用红色星号标记,并通过函数方式在生成的图形中添加注释,至少应包括:标题,文本注释,图例和坐标轴标注。
x=0:pi/200:2*pi;sinx = sin(x); cosx = cos(x);k=find(abs(sinx-cosx)<1e-2); x1=x(k);figure,plot(x,sinx,'LineWidth',2) hold on ,plot(x,cosx,'r:','LineWidth',2)hold on ,plot(x(find(cosx==sinx)),cosx(find(cosx==sinx)),'r*','LineWidth',2)hold on ,plot(x1,sin(x1),'r*') xlabel('x:(0-2\pi)'); ylabel('y:sin(x)/cos(x)');title('正弦曲线和余弦曲线');text(x1+0.1,sin(x1),'sin(x)=cos(x)');gtext('sin(x)') gtext('cos(x)')legend('sin(x)','cos(x)')2、 绘制图像:双曲抛物面:22164x y z =-,1616x -<<,44y -<<,并对绘制的双曲抛物面尝试进行视点控制。
[X,Y] = meshgrid(-16:0.4:16,-4:0.1:4); Z = X.^2/16 - Y.^2/4;subplot(1,3,1),plot3(X,Y,Z),view(0,180),title('azimuth = 0,elevation = 180'); subplot(1,3,2),plot3(X,Y,Z),view(-37.5,-30),title('azimuth = -37.5,elevation = -30');subplot(1,3,3),plot3(X,Y,Z),view([3,3,2]),title('viewpoint=[3,3,1]');3、 表中列出了4个观测点的6次测量数据,将数据绘制成为分组形式和堆叠形式的条形图。
实验五 MATLAB二维、三维图形的绘制一、实验目的1.掌握二维、三维图形的绘制;2.掌握特殊二维图形的绘制;3.掌握绘图参数的设置;4.了解并学习简单动画的制作。
二、实验内容1.运行下列程序,学会并掌握标题、坐标轴标签和网格线的设置方法x=0:1:10;y=x.^2-10*x+6;plot(x,y);title ('Plot of y=x.^2-10*x+6');xlabel ('x');ylabel ('y');grid on;2.运行下列程序,学会并掌握线型、点型、颜色的设置方法x = -pi:pi/20:pi;y1 = sin(x);y2 = cos(x);plot(x,y1,'bo',x,y2,'r:');title('线型、点型和颜色');xlabel('时间'),ylabel('Y');grid on;3.同一坐标系内多条曲线的绘制1)使用 plot(x,[y1;y2;…])x = -pi:pi/20:pi;y1 = sin(x);y2 = cos(x);plot(x,[y1;y2]);legend('sin x','cos x');2)使用hold命令x = -pi:pi/20:pi;y1 = sin(x);y2 = cos(x);plot(x,y1);hold on;plot(x,y2,‘r’);3)在plot后使用多输入变量x = -2*pi:pi/20:2*pi;y1 = 2*sin(x);y2 = 2*cos(x);plot(x,y1,'ro',x,y2,'b:');title('线型、点型和颜色');xlabel('时间'),ylabel('Y');4) 使用plotyy命令x = -pi:pi/20:pi;y1 = sin(x);y2 = 5*cos(x);plotyy(x,y1,x,y2);grid on;gtext(‘sinx’) ; gtext(‘5cosx’) ;4.子图形窗口的绘制subplot(2,1,1);x= -pi:pi/20:pi;y=sin(x);plot(x,y) ; grid on;title('正弦曲线');subplot(2,1,2);x= -pi:pi/20:pi;y=cos(x);plot(x,y); grid on;title('余弦曲线');5.对数坐标图形x=0:0.1:10;y=x.^2 -10.*x +25;subplot(2,2,1);plot(x,y); grid on;xlabel('a) x、y轴线性刻度');subplot(2,2,2);semilogx(x,y); grid on;xlabel('b) x轴对数刻度、y轴线性刻度');subplot(2,2,3);semilogy(x,y); grid on;xlabel('c) x轴线性刻度、y轴对数刻度');subplot(2,2,4);loglog(x,y); grid on;xlabel(‘d) x、y轴对数刻度');6.极坐标下的绘图theta = 0:pi/20:2*pi;r = 0.5+cos(theta);polar(theta,r);7.复数的绘图,并比较下面几种情况的不同1)t = 0:pi/20:6*pi;y = exp(0.1*t) .* (cos(t) + i * sin(t));plot(y);grid on ;title('Plot of Complex Function vs Time');xlabel('Real Part');ylabel('Imaginary Part');2)t = 0:pi/20:6*pi;y = exp(0.1*t) .* (cos(t) + i * sin(t));plot(t, y);grid on ;title('Plot of Complex Function vs Time');xlabel('t');ylabel('y(t)');3)t = 0:pi/20:6*pi;y = exp(0.1*t) .* (cos(t) + i * sin(t));plot(t, real(y),'b-');grid on;hold on;plot(t, imag(y),'r-');title('Plot of Complex Function vs Time');xlabel('t');ylabel('y(t)');legend('real','imaginary');hold off;4)t = 0:pi/20:6*pi;y = exp(0.1*t) .* (cos(t) + i * sin(t));polar(angle(y),abs(y));title('Plot of Complex Function');8.特殊二维图形的绘制1)x = [1 2 3 4 5 6];y = [2 6 8 7 8 5];stem(x,y);title('Example of a Stem Plot');xlabel('x');ylabel('y');axis([0 7 0 10]);将上述程序中的stem语句换为stairs、bar、barh和compass,即可实现阶梯图、条形图、罗盘图的绘制。
实验五:循环结构程序设计实验报告一、实验目的1. 了解循环结构的基本概念和原理;2. 掌握使用Matlab进行循环结构程序设计的方法;3. 提高编程能力和问题解决能力。
二、实验内容1. 学习while循环和for循环的基本语法和用法;2. 设计并编写一些基于循环结构的Matlab程序;3. 分析程序运行结果并进行总结。
三、实验原理循环结构是程序设计中的重要组成部分,它可以让一段代码重复执行多次,从而简化程序的编写。
在Matlab中,循环结构主要有while 循环和for循环两种形式。
while循环在执行循环体前判断条件是否为真,只有条件为真时才会执行循环体;for循环则是指定循环的次数,每次迭代时执行一次循环体。
四、实验步骤与结果1. 编写一个使用while循环的程序,实现1~100的累加。
程序代码如下:```matlabsum = 0;i = 1;while i <= 100sum = sum + i;i = i + 1;enddisp(sum);```运行程序后,得到的结果为5050。
2. 编写一个使用for循环的程序,实现1~10的阶乘。
程序代码如下:```matlabresult = 1;for i = 1:10result = result * i;enddisp(result);```运行程序后,得到的结果为xxx。
五、实验总结通过本次实验,我深刻理解了循环结构的基本概念和原理,掌握了使用Matlab进行循环结构程序设计的方法。
在编写循环程序的过程中,我发现循环结构可以大大简化程序的编写,并且能够高效地处理重复性任务。
我也进一步提高了自己的编程能力和问题解决能力。
本次实验使我对Matlab中的循环结构有了更加深入的了解,我相信这对我的编程能力和日后的学习工作都将大有裨益。
六、实验感想和改进意见通过本次实验,我深刻认识到循环结构在程序设计中的重要性和灵活性。
循环结构能够帮助我们简化程序的编写,提高代码的重用性和可读性,因此在实际的程序设计中,合理地运用循环结构能够大大提高程序的效率和逻辑清晰度。
clear all;close all;dt=0.01;t=0:dt:10;xt=0.1*cos(0.15*pi*t)+0.5*cos(4*pi*t);fs=4;sdt=1/fs;t1=0:sdt:10;st=0.1*cos(0.15*pi*t1)+0.5*cos(4*pi*t1); t2=-50:dt:50;gt=sinc(fs*t2);stt=sigexpand(st,sdt/dt);xt_t=conv(stt,gt);figure(1);subplot(311);plot(t,xt);title('原始信号');subplot(312);plot(t1,st);title('抽样信号');subplot(313);t3=-50:dt:60+sdt-dt;plot(t3,xt_t);title('抽样信号恢复');axis([0 10 -1 1]);function [out]=sigexpand(d,M)N=length(d);out=zeros(M,N);out(1,:)=d;out=reshape(out,1,M*N);012345678910-11原始信号012345678910-11抽样信号-101抽样信号恢复N=1000;dsource = pcm_encode(650);n=10;temp1=ones(1,n);temp0=zeros(1,n);new_dsource=[];for i=1:length(dsource)if dsource(i)==0new_dsource=[new_dsource temp0];elsenew_dsource=[new_dsource temp1];endendT=1;t=0:T/n:T/n*(length(new_dsource)-1);plot(t,new_dsource)axis([min(t)-0.01,max(t)+0.01,min(new_dsource)-0.01,max(new_dsource)+0.01])function [out]=pcm_encode(x)n=length(x);for i=1:nif x(i)>0out(i,1)=1;elseout(i,1)=0;endif abs(x(i))>=0&abs(x(i))<16out(i,2)=0;out(i,3)=0;out(i,4)=0;step=1;st=0;elseif 16<=abs(x(i))&abs(x(i))<32out(i,2)=0;out(i,3)=0;out(i,4)=1;step=1;st=16; elseif 32<=abs(x(i))&abs(x(i))<64out(i,2)=0;out(i,3)=1;out(i,4)=0;step=2;st=32; elseif 64<=abs(x(i))&abs(x(i))<128out(i,2)=0;out(i,3)=1;out(i,4)=1;step=4;st=64; elseif 128<=abs(x(i))&abs(x(i))<256out(i,2)=1;out(i,3)=0;out(i,4)=0;step=8;st=128; elseif 256<=abs(x(i))&abs(x(i))<512out(i,2)=1;out(i,3)=0;out(i,4)=1;step=16;st=256; elseif 512<=abs(x(i))&abs(x(i))<1024out(i,2)=1;out(i,3)=1;out(i,4)=0;step=32;st=512; elseout(i,2)=1;out(i,3)=1;out(i,4)=1;step=64;st=1024; endif (abs(x(i))>=2048)out(i,2:8)=[1 1 1 1 1 1 1];elsetmp=floor((abs(x(i))-st)/step);t=dec2bin(tmp,4)-48;out(i,5:8)=t(1:4);endendout=reshape(out',1,8*n);0.10.20.30.40.50.60.70.80.91。
实验五 MATLAB 数值计算一、实验目的1.掌握求数值导数和数值积分的方法。
2.掌握代数方程数值求解的方法。
3.掌握常微分方程数值求解的方法。
二、实验的设备及条件计算机一台(带有MATLAB7.0以上的软件环境)。
设计提示1.参考本节主要内容,学习并理解相关函数的含义及调用方法。
三、实验内容1.线性系统方程:分别使用左除(\)和求逆(inv )求解下面系统方程的解:⎪⎩⎪⎨⎧=+=+=++377251463c b b a c b a2. 数值积分:使用quad 和trapz 求解⎰-503/dx xe x 的数值积分,并与其解析解9243/5+--e 相比较;3. 请完成教材P154页中实验指导环节的实验内容第2题4. 请完成教材P155页中思考练习的第3题(1),并绘制解在该求解区间(即[0,5])上的图像;。
5、请完成教材P164页实验指导环节的实验内容第5题。
(提示:该函数的符号导数,可以通过函数diff 求得。
首先定义符号变表达式,如求sin(x)的一阶符号导数,可以先定义f=’sin(x)’;df=diff(f);可求得df=cos(x)。
其中df 即为函数f 的一阶符号导数)。
四、实验报告要求(包含预习报告要求和最终报告要求)1.实验名称2.实验目的3.实验设备及条件4.实验内容及要求5.实验程序设计指程序代码。
6.实验结果及结果分析实验结果要求必须客观,现象。
结果分析是对实验结果的理论评判。
7.实验中出现的问题及解决方法8. 思考题的回答五、实验报告的提交方式Word文档,命名方式:实验号_你的学号_姓名例如本次实验:实验一_000000001_张三.doc(信息101提交报告邮箱):E_mail: *******************(网络工程101提交作业邮箱):E_mail: *******************(注意网络班的M是大写的)下一次课前提交,过期不收!六、参考文献参考教材和Matlab帮助文件。
实验五基于MATLAB控制系统的单位阶跃响
应分析
基于MATLAB控制的单位阶跃响应分析
一、实验目的1)学会使用MATLAB编程绘制控制系统的单位阶跃响应曲线。
2)研究二阶系统中ξ,ωn对系统阶跃响应的影响。
3)掌握准确读取动态特性指标的方法。
二、实验内容已知二阶控制系统,用MATLAB完成曲线绘制。
三、实验仪器1、电脑2、 MATLAB软件
四、实验原理例题:3-1若已知单位负反馈前向通道的传递函数为G(S)=100/(s2+5s),试作出其单位阶跃响应曲线,准确读出其动态性能指标,并记录数据。
【解】
老师演示1)作单位阶跃响应曲线参考程序如下:
sys=tf(100,[15 0]);sysc=feedback(sys,1);step(sysc)习题:
1、已知单位负反馈系统的开环传递函数为10/(s2+2s+10)试作出该系统的阶跃响应,并记录其性能指标。
2、已知闭环传递函数为5(s2+5s+6)/s3+6s2+10s+8,试作出阶跃响应曲线,并记录其性能指标。
五、实验步骤
1、老师演示例题。
编程得到曲线,记录数据。
2、学生自行完成习题,编写程序,记录数据。
六、实验结果记录如下:画出仿真图,以及记录实验中的性能指标数据。
七、思考题
1、用其他方法编写程序得到响应曲线。
实验五 基于matlab 的数据拟合与回归分析一、 实验类型验证性实验二、 实验学时2学时三、 实验目的1、掌握利用MATLAB 中实现单因变量的多元线性回归分析(经典多元线性回归分析)的方法;2、掌握利用MATLAB 中实现多因变量的多元线性回归分析(多对多线性回归分析)的方法。
3、掌握MATLAB 有关逐步回归的命令。
四、 实验内容及要求 实验内容:1 学习MATLAB 中有关经典多元线性回归分析的命令;(1) [b,bint,r,rint,stats] = regress(y,X,alpha)建立回归分析模型01122,i i i ip ip i y b b x b x b x ε=+++++其中()()2E 0,D i i εεσ==,1,2,,i n =.注:在该命令中,设计矩阵()(1)ij n p X x ⨯+=(X 的第1列全为1 ) 或响应值向量()1i n y y ⨯=中的无效值Nan 将被免忽略。
输入参数至少有2个,alpha 是检验的显著性水平,默认值为0.05。
输出参数至少有1个,b 是回归系数的估计值;bint 是各回归系数的置信度为1-alpha 的置信区间(第1列是它们的下界,第2列是它们的上界);r 是残差,rint 是残差的置信区间;stats 给出一个1*4的向量,依次是判定系数2R ,F 统计量的观测值及检验的p 值,以及误差的方差的估计值2ˆσ. 这里//(1)U p MMSF Q n p MSE==-- 是检验回归模型是否显著的检验统计量,当012:0p H b b b ====成立时, ~(,1)F F p n p --.可以通过分析残差的置信区间来观察原始数据是否存在异常点,若残差的置信区间不包括0,则可认为对应的观测值是异常值,将异常值全部去掉,重新建立的回归模型将更加精确。
可以调用命令rcoplot(r,rint)按观测顺序逐个画出各组观测值对应的残差和残差置信区间,从而观测异常值的位置。
(2) stats = regstats(y,X,model ,whichstats ) % 根据指定模型model 建立回归方程输入参数:响应变量()1i n y y ⨯=,设计变量()ijn pX x ⨯=,model 参数表5.1 model 参数及说明包括系数的估计值、因变量的预测值、残差、判定系数等23个选项供用户选择,通过这一界面,matlab将用户所选择的选项对应的回归分析结果显示在matlab工作空间中。
图5.1 regstats弹出的图形用户界面当带有输出选项stats时,直接返回一个结构体stats,它有24字段,包含了图形界面中的所有选项,此时,不弹出用户界面。
若输入中带有第4个参数whichstats,则stats仅包含whichstats 指定的统计量。
表5.2 stats字段名称及说明(3) 乘方法。
输入参数至少两个,X(n p ⨯)是设计矩阵,y(1n ⨯)响应变量的观测值。
wfun 给出权函数的名称,tune 给出权函数相应的调节系数,const 控制模型中是否包含常数项。
若const=’on’或1,则模型中包含常数项,此时自动在X 的第1列加入1列1,若const=’off’或0,则不包含常数项。
表5.3 权函数与调节系数其中r =,resid 是上一步迭代的残差,/0.6745s MAD =,MAD 是残差绝对值的中位数,若X 有p 列,计算MAD 时应残差绝对值的前p 个值最小值去掉。
h 是最小二乘拟合得到的中心化杠杆值。
输出:至少1个参数,b 是回归模型中的系数向量;stats 返回用于进行模型诊断的结构体变量。
其字段名称和意义如下:表5.4 stats 的字段名称及说明2 [beta,Sigma,E,CovB,logL]= mvregress(X,Y ,Name,Value) 建立多对多的线性回归模型 输入:至少两个参数。
d 维响应变量的观测值矩阵()ij n d Y y ⨯=,设计矩阵X 可以是矩阵或元胞数组,当1d =时,()ijn kX x ⨯=,当模型包含常数项时,X 的第1列应全为1;当d>1,并且Y 的每一个维度有相同的设计矩阵时,()ijn kX x ⨯=或是一个只包含单个n k ⨯的设计矩阵的元胞数组;当 d>1,并且Y 的每一个维度有不同的设计矩阵时,X 将是一个长度为d 的元胞数组,每个元胞都是一个n k ⨯的设计矩阵。
Name 和Value 参数可指定算法与相应的一些选项。
其值如表5.5所示。
表5.5 mvregress 函数的name 选项及其值(部分)的协方差矩阵的估计;E 是残差矩阵;CovB 是beta 的协方差矩阵;,logL 是最后一次迭代对应的对数似然函数的值。
3 学习MATLAB 有关逐步回归的命令。
表5.6 逐步回归命令函数4 (1) 设某种水泥在凝固时所释放的热量Y(卡/克)与水泥中下列4种化学成分有关1x 为233CaO Al O ⋅的成分(%);2x 为23CaO SiO ⋅的成分(%); 3x 为23234CaO Al O Fe O ⋅⋅的成分(%);4x 为22CaO SiO ⋅的成分(%)。
共观测了13组数据(见表5.7)。
试求出Y 与1234,,,x x x x 的回归方程,并对该回归方程和各个回归系数进行检验。
表5.7 水泥数据(2) 设发电量1,工业总产值2与钢材产量1,水泥产量2,机械工业总产值3,棉纱产量4x ,机制纸产量5x 之间有线性相关关系。
现收集了1949到1978年共30年的数据(见表4.2)。
试建立12,Y Y 与12345,,,,x x x x x 的线性模型。
表5.8 发电量与经济发展数据(1)实验过程要求用Matlab 软件完成;(2)实验结果逐个导入Word 文档,并按问题作出解释; (3)实验报告按照既定格式书写。
五、 实验的重点和难点实验重点: MA TLAB 中关于多元线性回归模型的实现方法。
实验难点: 无六、 实验准备1、实验室电脑要求安装有Matlab软件;2、上实验课程的学生要对涉及到的统计概念有所了解;3、要求学生事先查阅并熟悉Matlab的相关命令。
七、实验程序及结果分析1 学习MATLAB中有关经典多元线性回归分析的命令(1)程序如下:y=[7613.51 7850.91 8381.86 9142.81 10813.6 8631.43 8124.94 9429.79 10230.81 10163.61 9737.56 8561.06 7781.82 7110.97]';x1=[7666 7704 8148 8571 8679 7704 6471 5870 5289 3815 3335 2927 2758 2591]'; x2=[16.22 16.85 17.93 17.28 17.23 17 19 18.22 16.3 13.37 11.62 10.36 9.83 9.25]'; X=[ones(size(y)) x1.^2 x2.^2 x1 x2 x1.*x2];[b,bint,r,rint,stats] = regress(y,X)结果:结果说明:b是回归系数的估计值;bint是各回归系数的置信度为1-alpha的置信区间(第1列是它们的下界,第2列是它们的上界);r是残差,rint是残差的置信区间;stats给出一个1*4的向量,依R,F统计量的观测值及检验的p值,以及误差的方差的估计值2ˆ .次是判定系数2(2)程序如下:x=[ones(10,1) (1:10)'];y=x*[10;1]+normrnd(0,0.1,10,1);[b,bint]=regress(y,x,0.05)结果:(3)程序如下:y=[3.73 6.27 5.93 5.77 5.72 5.80 5.87 5.78 5.96 ...6.03 6.507.00 6.80 6.68 7.03 7.67 7.59 6.96 ...7.17 6.99 7.17 6.99 6.64 6.71 7.01 7.40 7.49 ...7.75 8.17 8.09 8.11 8.48 8.99];x=1:33;scatter(x,y);%画图,离散点hold on;p=regress(y',[ones(33,1) x']);%线性拟合r=robustfit(x,y);%稳健拟合plot(x,p(1)+p(2)*x,':',x,r(1)+r(2)*x,'r');%画图legend('原始数据','线性拟合','稳健拟合')%设置图例结果:2. 学习MATLAB有关多对多的多元线性回归分析的命令程序如下:x=[143 144 145 147 148 150 153 154 155 156 157 158 159 160 161 162]'; X=[ones(16,1),x];Y=[87 85 88 91 92 90 93 95 98 98 97 95 97 99 100 102]';[beta,Sigma,E,CovB,logL]= mvregress(X,Y,'covtype','full')%建立多对多的线性回归模型结果:结果说明:beta是回归方程的系数估计矩阵;Sigma是对响应向量的协方差矩阵的估计;E是残差矩阵;CovB是beta的协方差矩阵;,logL是最后一次迭代对应的对数似然函数的值。
3.学习MATLAB有关逐步回归的命令。
程序如下:y=[11.2 13.4 40.7 5.3 24.8 12.7 20.9 35.7 8.7 ...9.6 14.5 26.9 15.7 36.2 18.1 28.9 14.9 25.8 21.7 25.7];%犯罪率y,低收入家庭百分比x1,失业率x2,人口总数x3x1=[16.5 20.5 26.3 16.5 19.2 16.5 20.2 21.3 17.2 14.3 ...18.1 23.1 19.1 24.7 18.6 24.9 17.9 22.4 20.2 16.9];x2=[6.2 6.4 9.3 5.3 7.3 5.9 6.4 7.6 4.9 6.4 6.0 7.4 ...5.8 8.66.5 8.3 6.7 8.6 8.4 6.7];x3=[587 643 635 692 1248 643 1964 1531 713 749 7895 ...762 2793 741 625 854 716 921 595 3353];figure(1),plot(x1,y,'*');figure(2),plot(x2,y,'*');figure(3),plot(x3,y,'*');X1=[x1',x2',x3'];stepwise(X1,y)结果:4.(1)程序如下:a=[7 26 6 60;1 29 15 52;11 56 8 20;11 31 8 47;7 52 6 33;11 55 9 22;1 31 22 44;1 31 22 44;2 54 18 22;21 47 4 26;1 40 23 34;11 66 9 12;10 68 8 12];x1=a(:,1);x2=a(:,2);x3=a(:,3);x4=a(:,4);y=[78.5;74.3;104.3;87.6;95.9;109.2;72.5;72.5;93.1;115.9;83.8;113.3;109.4]; X=[ones(size(x1)),x1,x2,x3,x4];[b,bint,r,rint,stats] = regress(y,X)结果如下:b =69.76611.41180.4621-0.0399-0.2226bint =-97.7881 237.3202-0.3563 3.1798-1.2765 2.2008-1.8203 1.7406-1.9175 1.4722r =0.43281.8950-2.1031-1.2393-0.19323.7441-2.3311-2.33111.17110.71442.62350.5346-2.9178rint =-3.7577 4.6233-3.1648 6.9548-5.8987 1.6924-6.4122 3.9337-5.3272 4.9408-1.2481 8.7364-7.3498 2.6876-7.3498 2.6876-3.9131 6.2554-2.6165 4.0453-2.0795 7.3264-4.7525 5.8216-7.2782 1.4427stats =0.9833 117.4117 0.0000 6.5281说明:b 是线性方程的系数估计值,并且第一值表示常数系数。