Using interp2 for several functions

I am using interp2 in the way shown below(Only two lines to demonstrate what i mean). However. I have many lines of code with only the function (f1,f2..fn)changing. Is there a way of being able to produce these outputed matrices more efficently? and if so can they be seperated or do they have to be in one large matrix?
test = interp2(x,y,f1,xq,yq);
test2 = interp2(x,y,f2,xq,yq);

3 件のコメント

Stephen23
Stephen23 2021 年 3 月 25 日
Use a simple loop. Storing the data in arrays will make this a lot easier (compared to numbered variables).
James Rodriguez
James Rodriguez 2021 年 3 月 25 日
I have now stored all of the fucntions into a 3d matrix as shown below. It runs but the output is the same dimensions as test and test2 above, rather than being 3d . I think it shows the mean values which is not what I need . If test gives a 12x12 matrix, then I would like for "main" to be 12x12xn, where n is the number of functions I have . Sorry if this isnt the clearest explanation
Fmatrix = cat(3,f,f2,f2,f3...fn)
for i = [1:1:n]
main = interp2(x,y,squeeze(Fmatrix(:,:,i)),xq,yq);
end
Matt J
Matt J 2021 年 3 月 25 日
Are the query points xq,yq gridded or scattered?

サインインしてコメントする。

回答 (1 件)

Matt J
Matt J 2021 年 3 月 25 日
編集済み: Matt J 2021 年 3 月 25 日

0 投票

fCell = {f1,f2,...,fn};
n=numel(fCell);
G=griddedInterpolant({y,x},fCell{1});
test=cell(1,n);
for i=1:n
G.Values=fCell{i};
test{i}=G(yq,xq);
end

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

製品

質問済み:

2021 年 3 月 25 日

コメント済み:

2021 年 3 月 25 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by