matlab编程 求代码
1.打开matlab2012b,新建newscript.输入如下代码:a=input(a=?);b=input(b=?);c=input(c=?);d=b*b-4*a*c;x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];disp([x1=,num2str(x(1)),,x2=,num2str(x(2))]);
2.点击“run”运行.选择好保存的文件名和保存目录.这里取文件名为:yiyuanercifangchengqiujie.运行结果如下:依次输入a、b、c的值>>yiyuanercifangchengqiujiea=?6b=?7c=?9x1=-0.58333+1.0769i,x2=-0.58333-1.0769i可以连续运行,也就是说可以接着输入下一组a、b、c的值.
3.附例1:用solve方法来求一元一次方程组的根.
基尼系数的matlab编程
%x1=0:0.1:1;
x1=linSPAce(0,1,8);
x2=0:0.001:1;
t=[0,4.12222,5.57722,13.91623,18.05866,22.62142,14.21962,21.48463]*0.01;%收入数百分比
xlen=length(x1);
y=zeros(1,xlen);
fori=1:xlen
y(i)=sum(t(1:i));
%c=polyfit(x1,y,7);
c=fit(x1,y,smoothingspline);
%d=polyval(c,x2);
d=c(x2);
%plot([0,1],[0,1],x1,y,[-])
plot(x1,x1,b-.,x1,y,*,x2,d,-)
title(洛伦兹曲线)
xlabel(人口百分比累计),ylabel(收入百分比累计)
axisequal
axis([0,1,0,1])
gridon
%计算基尼系数
area1=trapz(x2,d);
area2=trapz(x1,x1);
JN=area1/area2;
disp([收入数百分比基尼系数=,num2str(JN)])
%x1=0:0.1:1;
x1=linspace(0,1,8);
x2=0:0.001:1;
t=[0,4.12222,5.57722,13.91623,18.05866,22.62142,14.21962,21.48463]*0.01;%累计收入百分比
fori=1:length(x1)
y(i)=sum(t(1:i));
%c=polyfit(x1,y,7);
c=fit(x1,y,smoothingspline);
%d=polyval(c,x2);
d=c(x2);
figure
plot(x1,x1,b-.,x1,y,*,x2,d,-)
%plot([0,1],[0,1],x1,y,[-])
title(洛伦兹曲线)
xlabel(人口百分比累计)
ylabel(收入百分比累计)
axisequal
axis([0,1,0,1])
gridon
%计算基尼系数
area1=trapz(x2,d);
area2=trapz(x1,x1);
JN=area1/area2;
disp([累计收入百分比基尼系数=,num2str(JN)])
按上面的程序试试