2017-12-06 5 views
1

明示的な問題は次のとおりです。関数を書いてfplotコマンドを使って、f(x)= x^3-x + 8とxを0から100単純なMatLabの問題点fplotと関数ファイルについて

簡単な方法は、MATLABに以下のコードを投げると一日それを呼び出す:

Testing = @(x) x^3 - x + 8 
fplot(Testing, [0 100]) 

とやりました!

しかし、もう少し難しいアプローチを採用したいと思います。次

fplot('blah', [0 100]) 

function [y] = blah(x) 
y = (x^3) - x + 8; 
end 

、スクリプトが、それは動作しません。基本的に私は次のように持って別々の.mファイルを作りました。 whyyyy(私は正反対の線を得続けている)

ありがとう! Matlabの(2016B)の私のバージョンで

+0

私は私のPC上でそれを試してみましたが、どちらも同じ結果を与えている!そう問題は何ですか? – Haz

+0

あなたはその関数への呼び出しで '@'が必要です。 –

+0

[MATLAB odd 'Too many input argument' error]の重複している可能性があります(https://stackoverflow.com/questions/47636391/matlab-odd-too-many-input-arguments)。 -error) –

答えて

0

、それはblahが文字列でないときに動作します

blah = @(x) (x.^3) - x + 8; 

plot(0:100, blah(0:100),'r.-') 
hold all 
fplot(blah,[0 100],'kx-') 
+0

これは、OPが求めているものではありません。 OPはなぜ 'function [y] = blah(x)' –

+0

@SardarUsamaで動作しないのかを尋ねていますが、blahが独立したファイルでもインライン関数でも問題は同じです。 'fplot'はどちらの場合もx = 1:100とy = 1:100をプロットします。関数ハンドルを使用すると問題が解決します。 – Laure

+0

OPはすでに 'blah = @(x)(x。^ 3) - x + 8; 'で動作していることを知っています。 –

関連する問題