# Can't sort this code

2 visualizzazioni (ultimi 30 giorni)
Tom il 25 Gen 2012
The original question has been removed by the user.
##### 4 CommentiMostra 3 commenti meno recentiNascondi 3 commenti meno recenti
Tom il 26 Gen 2012
Okay yeah sorry, I'll try to bear that in mind.

Accedi per commentare.

### Risposta accettata

Dr. Seis il 26 Gen 2012
You define fnj as MxN, but in your for loop you are assigning values to fnj(j,n) where:
j = 1 : N
and
n = 1 : M
I think you meant to do "j = 1 : M" and "n = 1 : N"
Also make the change suggested by proecsm, namely
Fn = sum(fnj,2)
##### 2 CommentiMostra 1 commento meno recenteNascondi 1 commento meno recente
Dr. Seis il 26 Gen 2012
If you swap fnj(j,n) for fnj(n,j) - make sure you get both -, then you don't need to make the change to sum. Leave it as "Fn = sum(fnj);"

Accedi per commentare.

### Più risposte (2)

bym il 26 Gen 2012
You do not have 2 lines on the graph: it goes from left to right & back again. After some noodling, I think you want to replace
Fn = sum(fnj);
%plot(AnRec,Fn)
pn = Fn*(M./(ar*N));
plot(xjRec,pn,'LineWidth',1.7)
with the following, which makes more sense (or at the very least presents more pleasing plots :) )
Fn = sum(fnj,2);
plot(AnRec,Fn)
figure
pn = Fn*(M./(ar*N));
plot(xjRec,pn,'LineWidth',1.7)
##### 2 CommentiMostra 1 commento meno recenteNascondi 1 commento meno recente
Dr. Seis il 26 Gen 2012
Adding the 2 will sum all the values in a row.

Accedi per commentare.

Tom il 26 Gen 2012
I have this as a similar problem, which I can use as a kind of template for this one...
'1024 samples of one period of a 1Hz sine wave are taken. By analysing the amplitude range from – 10 Pa to 10 Pa in 60 equal segments, estimate the probability density function of the sine wave.'
The solution is here - http://dl.dropbox.com/u/11341635/Tut10-11SolQ2.png No built in Matlab functions allowed!
It's basically sampling the old-fashioned way - creating an array of static amplitude points as a framework for the receiving part of the system. The incoming signal is sampled at a given sampling frequency, and each sample received by the system will be analysed to see which amplitude point to match it up to - hence the two FOR loops, with an IF in the middle. One FOR loop is to consider each sample one at a time, and the other FOR loop is to determine whether each incoming sample in close to the amplitude point at hand. If it is, a value of 1 is placed in the 2-D matrix, the size of which is determined by the no. of amplitude points and the sampling frequency.
Phew.
##### 1 CommentoMostra NessunoNascondi Nessuno
Dr. Seis il 27 Gen 2012
See comment above.

Accedi per commentare.

### Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by