scilab 求微分_定积分的scilab程序

这段代码定义了一个Scilab函数`curseur_aire()`,用于创建一个图形界面,用户可以输入函数、定义积分区间,并通过滑动条改变积分的近似值。程序包含一个文本框用于输入函数表达式,两个文本框分别输入积分的下限和上限,以及一个滑动条来调整积分的步长。界面还显示了积分的最小值和最大值。

function curseur_aire()global lockslider valueDisplay minDisplay maxDisplay line aedit bedit fcedit;globalff fig;globalsliderMin sliderMax sliderSteps;tryclose(fig)

endtrydelete(ff);

end

figWidth=600; //图像宽度

figHeight=600; //图像高度

fig=figure("Position",[10,10,figWidth,figHeight]);set(fig,"figure_name","面积计算求积分近似值");

fig.auto_resize= "off";

ff=scf(fig);

ff.background= -2;

axes=gca();

axes.box= "on";

axes.visible= "on";

axes.axes_bounds= [-0.05 -0.05 1.1 0.8];

axes.margins= [0.1 0.1 0.1 0.1];//框

frX=80; //框的横坐标

frWidth=300; //框的宽度

uicontrol(fig,"Style","frame",.."Position",[frX,75,frWidth,100],.."BackgroundColor",[0.9,0.9,0.9]);//函数

fctWidth=100;

uicontrol(fig,"Style","text",.."Position" ,[frX+20,150,fctWidth,20],.."BackgroundColor",[0.9,0.9,0.9],.."Horizontalalignment","center",.."String","输入函数:","FontSize",14,"FontWeight","bold");

fcWidth=150;

fcedit=uicontrol(fig,"Style","edit",.."Position",[frX+110,150,fcWidth,20],.."String","x^2","FontSize",14,"FontWeight","bold");//端点 a

atWidth=10; //端点 a 标签宽度

uicontrol(fig,"Style","text",.."Position" ,[(figWidth-atWidth)/2-190,120,atWidth,20],.."BackgroundColor",[0.9,0.9,0.9],.."Horizontalalignment","center",.."String","a :","FontSize",14,"FontWeight","bold");

aWidth=40; //端点 a 文本框宽度

aedit=uicontrol(fig,"Style","edit",.."Position",[(figWidth-aWidth)/2-150,120,aWidth,20],.."String","0","FontSize",14,"FontWeight","bold");//端点 b

btWidth=10; //端点 b 标签宽度

uicontrol(fig,"Style","text",.."Position" ,[(figWidth-btWidth)/2-90,120,btWidth,20],.."BackgroundColor",[0.9,0.9,0.9],.."Horizontalalignment","center",.."String","b :","FontSize",14,"FontWeight","bold");

bWidth=40; //端点 b 标签宽度

bedit=uicontrol(fig,"Style","edit",.."Position",[(figWidth-bWidth)/2-40,120,bWidth,20],.."String","3","FontSize",14,"FontWeight","bold");//按钮 ok

npokWidth=40;

uicontrol(fig,"Style","pushbutton",.."Position",[(figWidth-npokWidth)/2-80,90,npokWidth,20],.."String","Ok","FontSize",14,"FontWeight","bold",.."Callback","newdata_aire");

sliderMin=1; //滑条最小值

sliderMax=600; //滑条最大值

sliderX=50; //滑条框的横坐标

sliderY=50; //滑条框的纵坐标

sliderWidth=500; //滑条框的长度

sliderHeight=20; //滑条框的高度

sliderSteps=sliderMax-sliderMin; //滑条移动的步数//sliderSteps=100;//滑条移动的步数//建立滑条

slider=uicontrol(fig,"Style","slider",.."Position",[sliderX,sliderY,sliderWidth,sliderHeight],.."Min",0,"Max",sliderSteps,.."callback","update_aire");//显示端点最小值

lowerBoundPos =[sliderX-30,sliderY-10,20,sliderHeight];

uicontrol(fig,"Style","text",.."Horizontalalignment","right",.."Position",lowerBoundPos,.."BackgroundColor", [1 1 1],.."String",string(sliderMin),"FontSize",14,"FontWeight","bold");//显示端点最大值

upperBoundPos=[sliderX+sliderWidth+20,sliderY-10,30,sliderHeight];

uicontrol(fig,"style","text",.."Horizontalalignment","left",.."Position",upperBoundPos,.."BackgroundColor", [1 1 1],.."String",string(sliderMax),"FontSize",14,"FontWeight","bold");//显示当前值

valueDisplayPos=[sliderX+sliderWidth/2-50,sliderY-30,150,20] ;

valueDisplay=uicontrol(fig,"style","text","Horizontalalignment","left",.."BackgroundColor", [1 1 1],.."Position",valueDisplayPos,"FontSize",14,"FontWeight","bold");//显示值

titlePos=[frX+frWidth+20,150,200,20];

maxDisplay=uicontrol(fig,"style","text","Horizontalalignment","left",.."BackgroundColor", [1 1 1],.."Position",titlePos,"FontSize",14,"FontWeight","bold");

titlePos=[frX+frWidth+20,120,200,20];

minDisplay=uicontrol(fig,"style","text","Horizontalalignment","left",.."BackgroundColor", [1 1 1],.."Position",titlePos,"FontSize",14,"FontWeight","bold");lock=%t;

endfunction

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值