我的简化问题是在3D绘图上为一些文本设置动画.
我有一个立方体,
vert = [1 1 0;0 1 0;0 1 1;1 1 1;0 0 1;1 0 1;1 0 0;0 0 0];
fac = [1 2 3 4; 4 3 5 6; 6 7 8 5; 1 2 8 7; 6 7 1 4; 2 3 5 8];
patch('Faces',fac,'Vertices',vert,'FaceColor',[.8 .5 .2]);
axis([0, 1, 0, 1, 0, 1]);
axis equal
axis off
Run Code Online (Sandbox Code Playgroud)

有可能得到这样的东西吗?

使用text没有帮助(看起来很假!),
谢谢,
我想知道如何使findpeak函数检测负峰而不是正峰,它检测下图所示的红色峰,而我需要检测蓝色峰..有什么想法吗?
非常感谢。

我被要求找到不同的方法在MATLAB中绘制一个圆,
看起来很无聊.但是我可以提出一些想法(有些可能效率低下!),
方法1
ezpolar(@(x)1);
Run Code Online (Sandbox Code Playgroud)
方法2
t = linspace(0,2*pi,100);
plot(sin(t),cos(t));
Run Code Online (Sandbox Code Playgroud)
方法3
[X,Y,~] = cylinder(1,100);
plot(X(1,:),Y(1,:));
Run Code Online (Sandbox Code Playgroud)
方法4
ezplot('x^2 + y^2 - 1');
Run Code Online (Sandbox Code Playgroud)
方法5
theta = linspace(0,2*pi,100);
ro = ones(1,100);
[X,Y] = pol2cart(theta,ro);
plot(X,Y);
Run Code Online (Sandbox Code Playgroud)
它变得有趣.
如果你有其他想法,我很好奇.
谢谢.
Edit
方法11
azimuth = linspace(-pi,pi,100);
r = ones(1,100);
elevation = zeros(1,100);
[X,Y,Z] = sph2cart(azimuth,elevation,r);
patch(X,Y,Z)
%% (not sure how it works! any improvement suggestions?)
Run Code Online (Sandbox Code Playgroud) 我有一个单元格,Data它包含三个双数组,
Data =
[74003x253 double] [8061x253 double] [7241x253 double]
Run Code Online (Sandbox Code Playgroud)
我正在使用循环来读取这些数组并执行一些函数,
for ii = 1 : 3
D = Data {ii} ;
m = mean (D') ;
// rest of the code
end
Run Code Online (Sandbox Code Playgroud)
哪个得到警告mean并说:
考虑为MEAN使用不同的DIMENSION输入参数
但是当我改成它时,
for ii = 1 : 3
D = Data {ii}' ;
m = mean (D) ;
// rest of the code
end
Run Code Online (Sandbox Code Playgroud)
我的内存不足错误.
比较两个代码,有人可以解释会发生什么吗?
似乎我只用复共轭转置得到了错误(我的数据是真正有价值的).
我想编写一个代码来生成一个给定大小的矩形的随机路径.
我将从这一点开始,(0,0)然后去up或right达到xlim和ylim.
这是我的代码,
y = 10;
x = 10;
yOld = 0;
xOld = 0;
figure
axis([0 x 0 y])
while yOld < y && xOld < x
DirectionChange = randi([0 1],1);
if DirectionChange == 0
yNew = yOld + 1;
xNew = xOld;
else
xNew = xOld + 1;
yNew = yOld;
end
line ([xOld xNew],[yOld yNew],'LineWidth',3);hold on
yOld = yNew;
xOld = xNew;
end
line ([xNew x],[yNew y],'LineWidth',3);hold …Run Code Online (Sandbox Code Playgroud) 如何检查变量是否 boolean在MATLAB中?
我有一个功能
function myFunc(myBoolean)
if myBoolean~=true && myBoolean~=false
assert(false,'variable should be boolean);
end
x = test(myBoolean);
Run Code Online (Sandbox Code Playgroud)
如何改进?,是否有一个函数来检查变量是不是真/假?
我有一些随机长度的矢量,如,
a = [ 20
78
90
180];
b = [ 54
102
1020];
Run Code Online (Sandbox Code Playgroud)
如何n = 3在每个元素之前和之后生成像整数一样的度量,如,
a1 = [17 18 19 20 21 22 23 b1 = [51 52 53 54 55 56 57
75 76 77 78 79 80 81 99 100 101 102 103 104 105
87 88 89 90 91 92 93 1017 1018 1019 1020 1021 1022 1023];
177 178 179 180 181 182 183];
Run Code Online (Sandbox Code Playgroud)
没有任何循环,提前谢谢,
我想在循环中为矩阵分配一些值,但我不知道有多少.B是基于Data(i,:)循环内的数据集计算的向量.元素的数量B在循环内部是固定的,但事先是未知的.
它像是;
A = zeros(n,m) %// I know n but I do not know m
for i = 1 : n
% some code to calculate B from Data(i,:)
A(i,:) = B;
end
Run Code Online (Sandbox Code Playgroud)
B是一个向量,但我不知道length(B)在循环之前所以我不能将它分配给m.
初始化时A = [];,Matlab发出警告
A似乎在每次循环迭代中改变大小.
我怎么能分开inf,并-inf从对方?
我有一个包含矩阵inf和-inf我想要替换他们1e6和-1e6分别.
例如,
a = [1 2 3 0 3 4]./[1 1 1 0 1 0];
b = log2([0 2 1 2 1 2]);
c = cat(1,a,b);
Run Code Online (Sandbox Code Playgroud)
这是,
c = [ 1 2 3 NaN 3 Inf;
-Inf 1 0 1 0 1];
Run Code Online (Sandbox Code Playgroud)
我想要,
newc = [ 1 2 3 NaN 3 1e6;
-1e6 1 0 1 0 1];
Run Code Online (Sandbox Code Playgroud)
我找不到一个分隔它们的函数.
谢谢.
我想10在带有n元素的向量中找到大多数重复的元素,
(元素来自1-100)
有谁知道这是怎么做到的吗?
我知道如何在向量中找到最重复元素的那个但我不知道如何找到10个最重复的元素n并且未知.