matlab階乘求和問題,matlab階乘和程式

時間 2023-03-09 20:00:06

1樓:匿名使用者

matlab軟體沒有求階乘的函式,所以必須自己來編乙個函式。

函式是輸入輸出的關係,所以建立乙個函式文件「專門求階乘。如下:

function f=factorial(n)%建立輸入資料n求n的階乘。

f=1;for i=1:n

f=f*i;

endend

然後再建乙個主函式程式「:

clcn=10;%求1-10的階乘的和。

s=0;for i=1:n

s=s+factorial(i)

endfprintf('求和結果是%f',s);

這樣就可以求出階乘的和咯。

2樓:

你好。matlab裡面階乘的命令式factorial(n)表示n的階乘。

function fun(x,n)

sum=0;

for i=1:n+1;

sum=sum+x^(i-1)/(factorial(i-1));如果公式後面有個i的話 再乘個i-1

endsum

matlab階乘和程式

3樓:麻木

matlab程式為:

function jiechenghe=fun(x)jiechenghe=0;

s=1;for i=1:x

s=s*i;

jiechenghe=jiechenghe+s;

end應用:求n!的位數。

可以將n!表示成10的次冪,即n!=10^m(10的m次方)則不小於m的最小整數就是 n!的位數,對該式兩邊取對數,有 m =log10^n!

即:m = log10^1+log10^2+log10^3...log10^n。迴圈求和,就能算得m值,該m是n!的精確位數。

4樓:四捨**入

首先不含0的階乘,即:x階乘和=1!+2!+…x!;

functionjiechenghe=fun(x)

jiechenghe=0;

s=1;fori=1:x

s=s*i;

jiechenghe=jiechenghe+s;

end若想加入0的階乘,可以加入判斷條件,令0!=1;

matlab和mathematica、maple並稱為三大數學軟體。它在數學類科技應用軟體中在數值計算方面首屈一指。matlab可以進行矩陣運算、繪製函式和資料、實現演算法、建立使用者介面、連線其他程式語言的程式等。

5樓:劉賀

第一,這個有現成的函式,沒必要編函式了。

第二,要自己編,應該用原始計算。

第三,你寫得不是階乘,是階乘的累加了。

function y=jch(n)

y=1;for ii=1:n

y=y*ii;

end---呵呵,看錯了,就是求累加:

function y=jch(n)

for ii=1:n

m(ii)=factorial(ii);

endy=sum(m);

6樓:網友

你是想求1!+2!+3!+.n-1)!+n!嗎?

如果是,那麼將m=factorial(n)改為m=factorial(i);

現在你應該明白為什麼你會得到96,而不是33了。

matlab 求和

利用matlab計算含有階乘的求和運算問題

7樓:匿名使用者

1、未見到你貼出的錯誤。

2、函式factorial

用數值方法計算階乘,不適用於符號變數。用sym('(k+1)!'

代替factorial(k+1)

3、無法求出顯式的e,不能直接繪圖,應該用double

進行轉換。4、不同的符號運算核心可能得到的結果有差別。以我用的版(maple核心)和2008b(mupad核心)為例,有以下兩點不同:

(1)n=0時,版得到的結果是0,2008b得到的是nan;

(2)開始的時候我把誤寫為,用兩個不同版本得到後面的幾個點大致相同,但改正為之後,發現在不同版本中有比較明顯的差異,如下圖所示:

版的結果

2008b版的結果:

究竟那個結果是正確的,我也說不准,但相對而言更相信maple核心的結果。

階乘式子求和

8樓:電燈劍客

利用二項式定理考察(p+q)^中p^k*q^項。

左端看作通過(p+q)^n1 * p+q)^n2來計算,右端則可直接得到。

matlab求和

9樓:劉賀

這個題,有幾個問題要先弄清楚:

一,i是不是整數?如果是,log4(n/3)不是整數,是向下取整還是向上取整?

二、log4(n/3)對n的變化不敏感,n從10000變到100000

log4(n/3)從5變到7,指的是向下取整。

三、最後圖形幾乎是直線變化的。

clear all;clc;

n=10^5:10^5:10^9;

tt=1;for k=1:length(n)

n(k)=floor(log(n(k)/3)/log(4));

ii=1:n(k);

t=4.^ii;

t(k)=tt+sum(t);

endplot(n,t);

10樓:匿名使用者

假定n 從1開始到乙個大數為 nmax

for n = 1:nmax

i = 0 : fix(ln(n/;

t(n) =sum(4.^i)end

Matlab序列的傅立葉變換,怎麼用matlab做傅立葉變換

簡堂宇文青夢 fs 1000 t 0 1 fs 0.6 f1 100 f2 300 x sin 2 pi f1 t sin 2 pi f2 t subplot 711 plot x title f1 100hz f2 300hz 的正弦訊號,初相0 xlabel 序列 n grid onnumber...

matlab中有沒有函式,執行能出現matlab自帶的g

inputdlg函式 執行這個函式會彈出輸入對話方塊 等待你輸入資訊 具體用法你自己搜尋一下 丑水凡 每個人對介面的需求不一樣,不可能自帶乙個介面讓大家都能用啊。用 guide 自己建乙個空白的,然後出現的介面,左邊有各種工具,你可以根據需要自己新增。如果你新增了乙個文字框,如下圖 在執行以後,你就...

用c語言編寫的讀取mat檔案(matlab矩陣)的程式,有錯,求幫助

從錯誤提示上,就是兩個變數未定義導致的連結錯誤你先搜尋整個工程,error提示中的兩個變數在 用到另外,也有可能是 include匯入的標頭檔案問題比如沒匯入必要的庫 或者是匯入的庫有問題 看你這段 沒有這兩個變數,可能是其他檔案或者使用的庫的問題匯入的庫也有依賴關係,使用前應該看看使用說明吧還有其...