當前位置:首頁 » 編程軟體 » 積分編程

積分編程

發布時間: 2023-02-06 09:15:56

① 這兩個積分用matlab怎麼編程計算

這兩個積分用matlab怎麼編程計算,用int()函數求解,要得到符號解析值是比較困難的,但如已知R1、D等數值,是可以得到其數值解。如R1=10;D=5;則第一個積分可以這樣來計算。
>>symsxR1D
>>R1=10;D=5;
>>int(sqrt((2*R1-x)*x)/(x+D)^3,x,0,2*R1)
>>vpa(ans)
計算結果

② matlab的參數積分編程

前幾天寫了這個問題的程序,因時間問題未能及時回答。現看到樓上已經回答,但代碼以收費附件的方式提供,不便於交流,我談談自己的做法吧。

注意:以下列出幾種方法的代碼,是各自獨立的,可以分別直接復制到命令窗口裡面運行,或者保存成M文件之後運行。

方法1:符號積分

這種方法最為簡單直接,很容易看懂。使用符號運算求積分,對於無法求出解析解的情況,有時候可以計算得到高精度數值解。

參考代碼如下:

symsh
phi=atan(h/10.8);
alpha=int(sin(phi),0,h)/210;
T=linspace(0,400,20);
X=T*0;
Y=X;
fori=1:length(T)
t=T(i);
x=int(37.5*cos(phi+alpha),0,t);
X(i)=double(x);
y=int(37.5*sin(phi+alpha),0,t);
Y(i)=double(y);
end
plot(X,Y)
axisequal
xlabelx;ylabely

在有些版本中會提示「無法求出顯式解」(Explicit integral could not be found)的警告信息,如果不希望看到警告,可以在代碼前加一句

warningoffsymbolic:sym:int:warnmsg1

c語言編程如何編寫積分公式

#include<iostream.h>
//定義結構類型
structstudent
{
intnum;
charname[20];
floatgrade;
};
voidmain(void)
{
//聲明數組
inti,size;
charstr[]="Thisisastring.";
intint_values[]={51,23,2,44,45,0,11};
floatfloat_values[]={15.1,13.3,22.2,10.4,1.5};
studentst_arr[]={101,"WangLin",92,102,"LiPing",85,103,"ZhaoMin",88};

//顯示char類型數組元素及其大小
size=sizeof(str)/sizeof(char);
cout<<"Numberofelementsinstr:";
cout<<size<<endl;
for(i=0;i<size;i++){
cout<<str[i];
}
cout<<endl;

//顯示int類型數組元素及其大小
size=sizeof(int_values)/sizeof(int);
cout<<"Numberofelementsinint_values:";
cout<<size<<endl;
for(i=0;i<size;i++){
cout<<int_values[i]<<"";
}
cout<<endl;

//顯示float類型數組元素及其大小
size=sizeof(float_values)/sizeof(float);
cout<<"Numberofelementsinfloat_values:";
cout<<size<<endl;
for(i=0;i<size;i++){
cout<<float_values[i]<<"";
}
cout<<endl;

//顯示student類型數組元素及其大小
size=sizeof(st_arr)/sizeof(student);
cout<<"Numberofelementsinst_arr:";
cout<<size<<endl;
for(i=0;i<size;i++){
cout<<st_arr[i].num<<"";
cout<<st_arr[i].name<<"";
cout<<st_arr[i].grade<<endl;
}
}
#include<iostream.h>
//add()函數的定義,其有返回值
doubleadd(doublex,doubley)
{
doublez;
z=x+y;
cout<<x<<"+"<<y<<"="<<z<<endl;
return(z);
}

main()
{
doublea=0.5,b=1.0;

//以不同參數形式調用函數add()
cout<<"add(1.5,2.5)="<<add(1.5,2.5)<<endl;
cout<<"add(a,b)="<<add(a,b)<<endl;
cout<<"add(2*a,a+b)="<<add(2*a,a+b)<<endl;
cout<<"----------------------"<<endl;

//以表達式方式調用函數add()
doublec=2*add(a,b);
cout<<"c="<<c<<endl;
cout<<"----------------------"<<endl;

//以語句式方式調用函數add()
add(2*a,b);
cout<<"----------------------"<<endl;

//用其他類型參數調用函數add()
intn=1,m=2;
cout<<"add("<<n<<","<<m<<")="<<add(n,m)<<endl;
}
#include<iostream.h>
//定義符號函數sgn(),其返回值為int類型
intsgn(doublex)
{
if(x>0)return(1);//返回出口1
if(x<0)return(-1);//返回出口2
return(0);//返回出口3
}
//main()函數定義
main()
{
doublex;
inti;
for(i=0;i<=2;i++){
cout<<"x=";
cin>>x;
cout<<"sgn("<<x<<")="<<sgn(x)<<endl;
}
}

④ MATLAB中,定積分加減怎麼編程

題主給出的變積分,可以通過循環語句來解決。

第一步,將t劃分若干份,如t=0:100

第二步,使用for循環語句,求解x為某值時的積分值。即

for i=1:100

。。。。。。

%求解x為某值時的積分值

end

第三步,使用integral函數求解積分值,即

t1=t(i);

eq1=@(x)exp(-(x-100).^2/15^2);

eq2=@(x)exp(-(x-50).^2/20^2);

f(i)=integral(eq1,-inf,t1)+quadgk(eq2,t1,+inf);

第四步,使用plot函數,繪制該積分的數值解圖形。

⑤ 用c語言編程計算積分

#include #include float f1(float x) { return(1.0+x); } float f2(float x) { return(2.0*x+3.0); } float f3(float x) { return(exp(x)+1); } float f4(float x) { return(pow(1+x,2)); } float f5(float x) { return(pow(x,3)); } float fsimp(float a,float b,float (*p)(float)) { float c,s; c=(a+b)/2; s=(b-a)/6*(p(a)+4*p(c)+p(b)); return s; } int main() { float a,b; printf("請輸入積分下限a的值:"); scanf("%f",&a); printf("請輸入積分上限b的值:"); scanf("%f",&b); printf("%f\n",fsimp(a,b,f1)); printf("%f\n",fsimp(a,b,f2)); printf("%f\n",fsimp(a,b,f3)); printf("%f\n",fsimp(a,b,f4)); printf("%f\n",fsimp(a,b,f5)); }

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:750
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:1012
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:719
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:879
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:774
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1127
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:351
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:229
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:912
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:876