0

x が 0.0001 から 0.007 まで、 y が 0.00000001 から 0.0000009 までの部分でのみ、この f のプロットのカーブ フィットを実行したいと考えています。除外規則を使用してカーブ フィット ツール ボックスをいろいろ試しましたが、うまくいきませんでした。どんな助けでも大歓迎です。ありがとうございました!

x =0:32/1024000:32;

m = ( x <= 16) .* ... % select the first part 
(  0.0133   0.00002./((cos(pi/4)./sinh(0.5*log(0.05*x))) coth(0.5*log(0.05*x))) )   ...
( x > 16) .* ... % select second part
(  0.0133   0.00002./((cos(pi/4)./sinh(0.5*log(0.05*(32-x)))) coth(0.5*log(0.05*(32-x)))) ) ; 

k = ( x <= 16) .* ... % select the first part
(  -0.00004*cos(pi/4)./(cosh(0.5*log(0.05*x))  sin(pi/4)) ) - ... 
( x > 16) .* ... % select second part
(  -0.00004*cos(pi/4)./(cosh(0.5*log(0.05*(32-x)))  sin(pi/4)) ) ; 

z = complex(m,k); 
y = ifft(z); 
f = abs(y);
figure(1);
plot(x,(f));  
4

1 に答える 1

0

メソッド名excludedataで機能したい。range私はあなたの機能を理解するのに苦労しているので、ここに例があります:

% x1 and y1 defined over the entire range
x1 = 1:1000;
y1 = 100*sin(x1/500) + 10*rand(size(x1));

% exclude y values less than 20 and greater than 60
e = excludedata(x1', y1', 'range', [20,60]);

% calculate a linear fit
f = fit(x1', y1', 'poly1', 'Exclude', e);

figure
hold on
plot(f,x1,y1)

データの範囲から適合するデータ

于 2013-06-18T19:15:07.020 に答える