Azzera filtri
Azzera filtri

This is a homework question I have been stuck on.

1 visualizzazione (ultimi 30 giorni)
Write a MatLab function called problem5 that inputs, in this order, a row vector vec, and a positive integer n, and outputs a two-row matrix such that the first row is vec and the second row consists of every element of vec raised to the n power. Your function should suppress all outputs. (b)Let vec = [3, 4, 2, 8, 10] and n = 3 and call your function. Store its output as variable X. Have MatLab echo X .

Risposta accettata

Image Analyst
Image Analyst il 14 Feb 2016
Hint: see this snippet
% Ask user for two floating point numbers.
defaultValue = {'45.67', '78.91'};
titleBar = 'Enter a value';
userPrompt = {'Enter floating point number 1 : ', 'Enter floating point number 2: '};
caUserInput = inputdlg(userPrompt, titleBar, 1, defaultValue);
if isempty(caUserInput),return,end; % Bail out if they clicked Cancel.
% Convert to floating point from string.
usersValue1 = str2double(caUserInput{1})
usersValue2 = str2double(caUserInput{2})
% Check for a valid number.
if isnan(usersValue1)
% They didn't enter a number.
% They clicked Cancel, or entered a character, symbols, or something else not allowed.
% Convert the default from a string and stick that into usersValue1.
usersValue1 = str2double(defaultValue{1});
message = sprintf('I said it had to be a number.\nI will use %.2f and continue.', usersValue1);
uiwait(warndlg(message));
end
% Do the same for usersValue2
You can also input a string that way, so the user can enter in a bunch of numbers, then use sscanf() or textscan() to parse it into a vector of doubles. Good luck.
  2 Commenti
Jonathan Trencheny
Jonathan Trencheny il 14 Feb 2016
Is there anyway to make it more simple, this is an introduction to coding class and we have not learned scan() or textscan()
Image Analyst
Image Analyst il 14 Feb 2016
Try input(). Put it into a while loop until the user enters some number to indicate he's done with the vector, like -999 or something. At each iteration use str2double() if you need to convert a string to a number.

Accedi per commentare.

Più risposte (1)

Walter Roberson
Walter Roberson il 14 Feb 2016
See input() .
Note that when you use input(), the user needs to type in [] around their input if you are having them input a numeric vector. If you want to get around that, you need to use the 's' option of input so the user is typing in a string, and then you need to convert the string to numeric such as with regexp() 'split' and str2double()

Categorie

Scopri di più su Time Series Objects 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