【问题标题】:MATLAB: why I am not getting any output?MATLAB:为什么我没有得到任何输出?
【发布时间】:2017-02-10 12:45:12
【问题描述】:

为什么我的代码不计算变量cos_theta,然后是theta

代码:

alpha = alpha_min:alpha_step:alpha_max;
cos_theta_0 = -1./(2.*alpha)+sqrt(1.+1./(4.*alpha.^2));
theta_0 = acos(cos_theta_0);
hmax = (sqrt(1+4.*alpha.^2)-1)./(2.*log(2));

for h = 1:(K-2);
    if h<= hmax;
    cos_theta(h,:) = cos_theta_0- h.*log(2)./alpha;
    theta(h,:) = acos(cos_theta(h,:));
    else break;
    end 
end

【问题讨论】:

  • 寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。
  • 还有:MCVE
  • @dasdingonesin 抱歉,我对 Matlab 没有信心,我正在努力尽快改进它。
  • 请阅读thisthis 并正确描述您的问题。 “不计算”不能充分描述问题。

标签: matlab if-statement for-loop output


【解决方案1】:

不清楚你在这里要做什么:

h <= hmax

您正在将常量“h”与向量“hmax”进行比较。

【讨论】:

  • 谢谢,但我以错误的方式转录我的代码。括号是好的,但它仍然不起作用。有什么想法吗?
  • 要知道正在进入哪个循环,您需要告诉我们您正在使用的 alpha 和 K 的值。
  • K=8, alpha_step = 0.5; alpha_min = 1; alpha_max = 10.;,在随后的试验中,我将h 设置为相同的架构。
  • 谢谢,我注意到我正在朝着正确的方向前进,尽管我的代码仍然没有任何答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-23
相关资源
最近更新 更多