Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 用曲线函数定义的颜色贴图填充曲线下方的区域_Matlab_Plot_Colors_Matlab Figure_Area - Fatal编程技术网

Matlab 用曲线函数定义的颜色贴图填充曲线下方的区域

Matlab 用曲线函数定义的颜色贴图填充曲线下方的区域,matlab,plot,colors,matlab-figure,area,Matlab,Plot,Colors,Matlab Figure,Area,考虑以下情节: 在左侧,您可以看到使用patch命令相对于函数轮廓的圆填充 在右侧,您可以看到函数沿左侧虚线轴的轮廓,该轮廓使用area命令填充 我要做的是用左面板中表示的颜色贴图定义的颜色填充曲线右面板下方的区域。结果应该是这样的 我能想到的最接近的事情是: 功能q55322965 %计算方程的半域! t=linspace pi,0,50; c=出口成本; %将向量转换为网格: [TT,CC]=成本,c; %清除曲线上方的所有点: CCCC>c=NaN; %填写图表和零之间的矩形: CCend

考虑以下情节:

在左侧,您可以看到使用patch命令相对于函数轮廓的圆填充

在右侧,您可以看到函数沿左侧虚线轴的轮廓,该轮廓使用area命令填充

我要做的是用左面板中表示的颜色贴图定义的颜色填充曲线右面板下方的区域。结果应该是这样的

我能想到的最接近的事情是:

功能q55322965 %计算方程的半域! t=linspace pi,0,50; c=出口成本; %将向量转换为网格: [TT,CC]=成本,c; %清除曲线上方的所有点: CCCC>c=NaN; %填写图表和零之间的矩形: CCend+1,:=0; TTend+1,:=TTend,:; %绘图: 图形meshTT,CC,CC,'FaceColor','interp','EdgeColor','interp';视图[0,90]; 这将产生:

如果使用此方法打印时希望减少锯齿状外观,可以增加分辨率(单位:t)。例如,如果我们在linspace中使用500而不是50,我们会得到:


为什么只选择了域的一半,而不是整个范围[-pi,pi]?
t = linspace(-pi,pi,100);
c = exp(-cos(t));
figure(1)
patch(cos(t),sin(t),c)
axis equal
figure(2)
area(cos(t),c,0);