我正在使用Matlab内置命令''ismember''来查看某个数据集是否在更大的数据集中.这段代码的目的是从下面显示的较大数据集中删除[0 0]行的任何倍数:
要做到这一点,我使用以下代码:
[Lia,locB] = ismember([0 0; 0 0],AFdata,'rows');
if sum(Lia) > 1
AFdata(locB(1):locB(end-1),:) = [];
Run Code Online (Sandbox Code Playgroud)
结束
AFdata = [
1.0000 -0.0114
0.9975 -0.0098
0.9951 -0.0084
0.9928 -0.0074
0.9903 -0.0066
0.9804 -0.0042
0.9705 -0.0018
0.9606 0.0004
0.9507 0.0025
0.9408 0.0045
0.9309 0.0063
0.9210 0.0082
0.9111 0.0100
0.9012 0.0118
0.8913 0.0135
0.8814 0.0152
0.8715 0.0167
0.8616 0.0183
0.8517 0.0199
0.8418 0.0214
0.8318 0.0229
0.8219 0.0243
0.8120 0.0256
0.8021 0.0269
0.7922 0.0282
0.7823 0.0294
0.7724 0.0306
0.7625 0.0318
0.7526 0.0329
0.7427 0.0340 …Run Code Online (Sandbox Code Playgroud) 我正在运行一个相当大的脚本.在输出屏幕中我得到ans = 10.
问题是代码非常大,我无法确定此输出来自何处.
是否有任何提示可以在MATLAB环境中找到此输出的来源,因为我不希望屏幕上有随机输出?
我正在使用2-D插值interp2.对于某些数据值,interp2命令返回NaN,因为其中一个维度超出了已知值向量定义的范围.
可以使用interp1命令进行推断.但是,有没有办法做到这一点interp2?
谢谢
这是我使用interp2命令的代码:
function [Cla] = AirfoilLiftCurveSlope(obj,AFdata,Rc,M)
% Input:
% AFdata: Airfoil coordinates.
% Rc: Local Reynolds number.
% M: Mach number for Prandtle Glauert compressibility correction.
% Output:
% Cla: 2 dimensional lift curve slopea applicable to linear region of lift polar.
load('ESDU84026a.mat');
xi = size(AFdata);
if mod(xi(1,1),2) == 0
%number is even
AFupper = flipud(AFdata(1:(xi(1,1)/2),:));
AFlower = AFdata(((xi(1,1)/2)+1):end,:);
else
%number is odd
AFupper = flipud(AFdata(1:floor((xi(1,1)/2)),:));
AFlower = AFdata((floor(xi(1,1)/2)+1):end,:);
end
t_c = …Run Code Online (Sandbox Code Playgroud)