2012-08-12 220 views
0

我想在MATLAB中绘制x=(a^n)*u(n)。这里是代码: u(n)这里代表单位阶跃函数。matlab - 单位阶梯函数的图形绘制

clc; 
clear all; 
close all; 
a = input('Enter variable:'); 
n=[-7:1:7]; 
for i=1:size(n,2) 
    if(n(i) > 1) 
     x(i)=a.^n(i); 
    else 
     x(i)=0; 
    end 
end 
subplot(2,1,1); 
plot(n(i),x(i)); 
title('function x(n)'); 
xlabel('n value'); 
ylabel('x value'); 

当我执行代码时,它不显示所需的输出。请帮忙。

+1

你可以像'a。^ n。*(n> a)'一样创建数组''x。不需要循环。 – Jonas 2012-08-12 16:31:57

回答

3

这只是绘制一个数据点:

plot(n(i),x(i)); 

替换成

plot(n,x); 

正如你所看到的,这个输入整向量nx而不只是i个元素的x(i)n(i)