matlab 就是个简单的输入几个数 计算后又输出 另一个数那种
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/08/28 16:33:01
matlab 就是个简单的输入几个数 计算后又输出 另一个数那种
function calculate_Callback(hObject,eventdata,handles)
% hObject handle to calculate (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
function F =myfun(X)
Is=X(1);
n2=X(2);
n3=X(3);
n4=X(4);
n5=X(5);
n6=X(6);
F(1)=log(n2*n6^2/145*handles.metricdata.p*handles.metricdata.gasco*exp(145*handles.metricdata.p(2.84*10^(-4)-1.255/(1.8*handles.metricdata.t+492))))+5.85+15.19*10^(-3)*(1.8*handles.metricdata.t+32)-1.64*10^(-6)*(1.8*handles.metricdata.t+32)^2-764.15*10^(-5)*handles.metricdata.p-3.334*sqrt(0.5*(4*n2+n6+n3*4+n4*4+n5*4))+1.431*0.5*(4*n2+n6+n3*4+n4*4+n5*4)-Is
F(2)=log(n2*n3)+3.47+1.8*10^(-3)*(1.8*handles.metricdata.t+32)+2.5*10^(-6)*(1.8*handles.metricdata.t+32)^2-855.5*10^(-6)*handles.metricdata.p-1.13*sqrt(0.5*(4*n2+n6+n3*4+n4*4+n5*4))+0.37*0.5*(4*n2+n6+n3*4+n4*4+n5*4)-2.0*10^(-3)*sqrt(0.5*(4*n2+n6+n3*4+n4*4+n5*4))*(1.8*handles.metricdata.t+32)-Is
F(3)=log(n2*n3)+4.04+1.9*10^(-3)*(1.8*handles.metricdata.t+32)+11.9*10^(-6)*(1.8*handles.metricdata.t+32)^2-1000.5*10^(-6)*handles.metricdata.p-1.66*sqrt(0.5*(4*n2+n6+n3*4+n4*4+n5*4))+0.49*0.5*(4*n2+n6+n3*4+n4*4+n5*4)-0.66*10^(-3)*sqrt(0.5*(4*n2+n6+n3*4+n4*4+n5*4))*(1.8*handles.metricdata.t+32)-Is
F(4)=log(n2*n3)+2.52+9.98*10^(-3)*(1.8*handles.metricdata.t+32)+0.97*10^(-6)*(1.8*handles.metricdata.t+32)^2-445.15*10^(-6)*handles.metricdata.p-1.09*sqrt(0.5*(4*n2+n6+n3*4+n4*4+n5*4))+0.5*0.5*(4*n2+n6+n3*4+n4*4+n5*4)-3.3*10^(-3)*sqrt(0.5*(4*n2+n6+n3*4+n4*4+n5*4))*(1.8*handles.metricdata.t+32)-Is
F(5)=log(n3*n4)+6.11+2*10^(-3)*(1.8*handles.metricdata.t+32)+6.4*10^(-6)*(1.8*handles.metricdata.t+32)^2-667*10^(-6)*handles.metricdata.p-1.89*sqrt(0.5*(4*n2+n6+n3*4+n4*4+n5*4))+0.67*0.5*(4*n2+n6+n3*4+n4*4+n5*4)-1.9*10^(-3)*sqrt(0.5*(4*n2+n6+n3*4+n4*4+n5*4))*(1.8*handles.metricdata.t+32)-Is
F(6)=log(n5*n2)+10.03-4.8*10^(-3)*(1.8*handles.metricdata.t+32)+11.4*10^(-6)*(1.8*handles.metricdata.t+32)^2-696*10^(-6)*handles.metricdata.p-2.62*sqrt(0.5*(4*n2+n6+n3*4+n4*4+n5*4))+0.89*0.5*(4*n2+n6+n3*4+n4*4+n5*4)-2*10^(-3)*sqrt(0.5*(4*n2+n6+n3*4+n4*4+n5*4))*(1.8*handles.metricdata.t+32)-Is
X=fsolve('myfun',[0,handles.metricdata.ca,handles.metricdata.so,handles.metricdata.sr,handles.metricdata.ba,handles.metricdata.coh],optimset('Display','off'))
answer=X(1);
set(handles.answer,'String',answer);
它就是不输出.是什么原因啊?
内容你别看着长 其实就是几个非线性方程而已
function calculate_Callback(hObject,eventdata,handles)
% hObject handle to calculate (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
function F =myfun(X)
Is=X(1);
n2=X(2);
n3=X(3);
n4=X(4);
n5=X(5);
n6=X(6);
F(1)=log(n2*n6^2/145*handles.metricdata.p*handles.metricdata.gasco*exp(145*handles.metricdata.p(2.84*10^(-4)-1.255/(1.8*handles.metricdata.t+492))))+5.85+15.19*10^(-3)*(1.8*handles.metricdata.t+32)-1.64*10^(-6)*(1.8*handles.metricdata.t+32)^2-764.15*10^(-5)*handles.metricdata.p-3.334*sqrt(0.5*(4*n2+n6+n3*4+n4*4+n5*4))+1.431*0.5*(4*n2+n6+n3*4+n4*4+n5*4)-Is
F(2)=log(n2*n3)+3.47+1.8*10^(-3)*(1.8*handles.metricdata.t+32)+2.5*10^(-6)*(1.8*handles.metricdata.t+32)^2-855.5*10^(-6)*handles.metricdata.p-1.13*sqrt(0.5*(4*n2+n6+n3*4+n4*4+n5*4))+0.37*0.5*(4*n2+n6+n3*4+n4*4+n5*4)-2.0*10^(-3)*sqrt(0.5*(4*n2+n6+n3*4+n4*4+n5*4))*(1.8*handles.metricdata.t+32)-Is
F(3)=log(n2*n3)+4.04+1.9*10^(-3)*(1.8*handles.metricdata.t+32)+11.9*10^(-6)*(1.8*handles.metricdata.t+32)^2-1000.5*10^(-6)*handles.metricdata.p-1.66*sqrt(0.5*(4*n2+n6+n3*4+n4*4+n5*4))+0.49*0.5*(4*n2+n6+n3*4+n4*4+n5*4)-0.66*10^(-3)*sqrt(0.5*(4*n2+n6+n3*4+n4*4+n5*4))*(1.8*handles.metricdata.t+32)-Is
F(4)=log(n2*n3)+2.52+9.98*10^(-3)*(1.8*handles.metricdata.t+32)+0.97*10^(-6)*(1.8*handles.metricdata.t+32)^2-445.15*10^(-6)*handles.metricdata.p-1.09*sqrt(0.5*(4*n2+n6+n3*4+n4*4+n5*4))+0.5*0.5*(4*n2+n6+n3*4+n4*4+n5*4)-3.3*10^(-3)*sqrt(0.5*(4*n2+n6+n3*4+n4*4+n5*4))*(1.8*handles.metricdata.t+32)-Is
F(5)=log(n3*n4)+6.11+2*10^(-3)*(1.8*handles.metricdata.t+32)+6.4*10^(-6)*(1.8*handles.metricdata.t+32)^2-667*10^(-6)*handles.metricdata.p-1.89*sqrt(0.5*(4*n2+n6+n3*4+n4*4+n5*4))+0.67*0.5*(4*n2+n6+n3*4+n4*4+n5*4)-1.9*10^(-3)*sqrt(0.5*(4*n2+n6+n3*4+n4*4+n5*4))*(1.8*handles.metricdata.t+32)-Is
F(6)=log(n5*n2)+10.03-4.8*10^(-3)*(1.8*handles.metricdata.t+32)+11.4*10^(-6)*(1.8*handles.metricdata.t+32)^2-696*10^(-6)*handles.metricdata.p-2.62*sqrt(0.5*(4*n2+n6+n3*4+n4*4+n5*4))+0.89*0.5*(4*n2+n6+n3*4+n4*4+n5*4)-2*10^(-3)*sqrt(0.5*(4*n2+n6+n3*4+n4*4+n5*4))*(1.8*handles.metricdata.t+32)-Is
X=fsolve('myfun',[0,handles.metricdata.ca,handles.metricdata.so,handles.metricdata.sr,handles.metricdata.ba,handles.metricdata.coh],optimset('Display','off'))
answer=X(1);
set(handles.answer,'String',answer);
它就是不输出.是什么原因啊?
内容你别看着长 其实就是几个非线性方程而已
handles.metricdata.p 类似的,这里的数据你保存了吗?不然从哪里传递到你想用的地方?……
matlab 就是个简单的输入几个数 计算后又输出 另一个数那种
输入一个正整数n,再输入n个整数,将最小值与第一个数交换,最大值与最后一个数交换,再输出交换后的n个数
从键盘任意输入10个整数,将其中最大数与最小数的位置对换,然后输出对换后的10个数.[提示:用一维数组
C语言输入10个整数,输出大于等于其平均值的数的个数
pascal中输入n个一位数再输入s,用n个数组成n位数(数不可重复),从大到小排列后,输出第s个数
C语言:3.输入20个数,计算这20个数的平均值并输出,然后按每行4个数据的形式输出这20个数.
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换,并输出对换后的10个数.
C语言:输入10个整数,将其中最小的数与第一个数对换,最大的数与最后一个数对换,并输出兑换后的10个数
C语言,输入3个数,输出其中最大的数
有一种计算程序,当输入数x后,输出的数为y,下表为输入一些数后得到的结果
用C语言的,输入N个整数,将最小的与第一个数交换,最大的与最后一个数交换,然后输出交换后的N个数.
输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换.写三个函数; 输出排序后的