2012-08-12 219 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)