Main Content

Results for


jak
jak
Last activity 24 minutes ago

ere's a single MATLAB script addressing all the problems described:
matlab
% Problem 1: Simple if Statement
x = 5; % Example value
if x > 0
disp('The number is positive.');
end
% Problem 2: if ... else Statement
x = 7; % Example value
if mod(x, 2) == 0
disp('The number is even.');
else
disp('The number is odd.');
end
% Problem 3: if ... elseif ... else Statement
score = 85; % Example value
if score >= 90 && score <= 100
disp('Grade A');
elseif score >= 80 && score < 90
disp('Grade B');
elseif score >= 70 && score < 80
disp('Grade C');
elseif score >= 60 && score < 70
disp('Grade D');
else
disp('Grade F');
end
% Problem 4: Nested if Statement
x = 8; % Example value
if x > 0
if mod(x, 2) == 0
disp('The number is positive and even.');
else
disp('The number is positive and odd.');
end
end
% Problem 5: Temperature Classification (if ... elseif)
T = 18; % Example value
if T < 0
disp('Freezing');
elseif T >= 0 && T <= 15
disp('Cold');
elseif T >= 16 && T <= 25
disp('Mild');
else
disp('Hot');
end
% Problem 6: Simple switch Statement
grade = 'B'; % Example value
switch grade
case 'A'
disp('Excellent');
case 'B'
disp('Good');
case 'C'
disp('Fair');
case 'D'
disp('Poor');
case 'F'
disp('Fail');
otherwise
disp('Invalid grade.');
end
% Problem 7: Nested switch Statement
department = 'Engineering'; % Example value
major = 'Mechanical'; % Example value
switch department
case 'Engineering'
switch major
case 'Electrical'
disp('Electrical Engineering');
case 'Mechanical'
disp('Mechanical Engineering');
case 'Civil'
disp('Civil Engineering');
otherwise
disp('Unknown major.');
end
case 'Arts'
disp('Arts Department');
case 'Sciences'
disp('Sciences Department');
otherwise
disp('Unknown department.');
end
% Problem 8: Leap Year Check (if Statements)
year = 2024; % Example value
if mod(year, 4) == 0
if mod(year, 100) ~= 0 || mod(year, 400) == 0
disp('Leap year');
else
disp('Not a leap year');
end
else
disp('Not a leap year');
end
% Problem 9: Triangle Type (if ... elseif)
a = 5; b = 5; c = 5; % Example values
if a == b && b == c
disp('Equilateral triangle');
elseif a == b || b == c || a == c
disp('Isosceles triangle');
else
disp('Scalene triangle');
end
% Problem 10: Calculator with switch Statement
num1 = 10; % Example value
num2 = 5; % Example value
operation = '*'; % Example value
switch operation
case '+'
result = num1 + num2;
disp(['Result: ', num2str(result)]);
case '-'
result = num1 - num2;
disp(['Result: ', num2str(result)]);
case '*'
result = num1 * num2;
disp(['Result: ', num2str(result)]);
case '/'
if num2 ~= 0
result = num1 / num2;
disp(['Result: ', num2str(result)]);
else
disp('Error: Division by zero');
end
otherwise
disp('Invalid operation');
end
This code covers all the problems mentioned in your document. Replace the example values with inputs as needed.
% MATLAB Homework Solutions
% Problem 1: Sum of Even Numbers using while Loop
sum_even = 0;
num = 1;
while num <= 50
if mod(num, 2) == 0
sum_even = sum_even + num;
end
num = num + 1;
end
disp('Problem 1: Sum of Even Numbers');
disp(sum_even);
% Problem 2: Factorial Calculation using for Loop
n = 5; % Example number to calculate factorial
factorial_result = 1;
for i = 1:n
factorial_result = factorial_result * i;
end
disp('Problem 2: Factorial of the number');
disp(factorial_result);
% Problem 3: Multiplication Table using Nested Loops
disp('Problem 3: 10x10 Multiplication Table');
for i = 1:10
for j = 1:10
fprintf('%d\t', i * j);
end
fprintf('\n');
end
% Problem 4: Count Digits using while Loop
number = 12345; % Example number
digit_count = 0;
while number > 0
number = floor(number / 10);
digit_count = digit_count + 1;
end
disp('Problem 4: Number of digits');
disp(digit_count);
% Problem 5: Skip Multiples of 3 using for Loop and continue
disp('Problem 5: Numbers from 1 to 20 (skipping multiples of 3)');
for i = 1:20
if mod(i, 3) == 0
continue;
end
disp(i);
end
% Problem 6: Break a while Loop when Condition is Met
num = 101; % Start checking from 101
while true
if mod(num, 5) == 0 && mod(num, 7) == 0
disp('Problem 6: First number greater than 100 divisible by 5 and 7');
disp(num);
break;
end
num = num + 1;
end
% Problem 7: Summing Diagonal Elements using Nested Loops
matrix = randi([1, 20], 5, 5); % Create a 5x5 random matrix
diagonal_sum = 0;
for i = 1:5
diagonal_sum = diagonal_sum + matrix(i, i);
end
disp('Problem 7: Sum of diagonal elements');
disp(matrix); % Display the matrix
disp(diagonal_sum);
% Problem 8: Reverse a Number using while Loop
num = 12345; % Example number
reversed = 0;
while num > 0
remainder = mod(num, 10);
reversed = reversed * 10 + remainder;
num = floor(num / 10);
end
disp('Problem 8: Reversed number');
disp(reversed);
% Problem 9: Prime Number Checker using for Loop and break
num = 29; % Example number to check
is_prime = true; % Assume the number is prime
if num < 2
is_prime = false;
else
for i = 2:sqrt(num)
if mod(num, i) == 0
is_prime = false;
break;
end
end
end
disp('Problem 9: Is the number prime?');
disp(is_prime);
% Problem 10: Display Pascal's Triangle using Nested Loops
n = 5; % Number of rows in Pascal's Triangle
disp('Problem 10: Pascal''s Triangle');
for i = 0:n-1
row = 1; % First element in the row
for j = 0:i
fprintf('%d ', row);
row = row * (i - j) / (j + 1); % Calculate next element
end
fprintf('\n'); % Move to the next row
end
% MATLAB Homework: Matrix Solutions
%% 1. Create a 5x5 Matrix
A1 = reshape(1:25, 5, 5)'; % 5x5 matrix with elements 1 to 25 arranged row-wise
disp('1. 5x5 Matrix:');
disp(A1);
%% 2. Element Referencing
b = [10 20 30; 40 50 60; 70 80 90];
element = b(3,2); % Element in 3rd row, 2nd column
disp('2. Element Referencing (3rd row, 2nd column):');
disp(element);
%% 3. Column Vector Creation
v = b(:,1); % First column of matrix b
disp('3. Column Vector (1st column of b):');
disp(v);
%% 4. Sub-matrix Extraction
subMatrix = b(2:3, 1:2); % Last two rows, first two columns
disp('4. 2x2 Sub-Matrix:');
disp(subMatrix);
%% 5. Row Deletion
c = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16];
c(2,:) = []; % Delete second row
disp('5. Matrix after Row Deletion:');
disp(c);
%% 6. Column Deletion
c(:,3) = []; % Delete third column
disp('6. Matrix after Column Deletion:');
disp(c);
%% 7. Matrix Addition and Subtraction
d = [1 2 3; 4 5 6; 7 8 9];
e = [9 8 7; 6 5 4; 3 2 1];
addResult = d + e; % Matrix addition
subResult = d - e; % Matrix subtraction
disp('7. Matrix Addition (d + e):');
disp(addResult);
disp('Matrix Subtraction (d - e):');
disp(subResult);
%% 8. Matrix Scalar Operations
scalarMultiply = d * 3; % Multiply by 3
scalarDivide = d / 3; % Divide by 3
disp('8. Matrix after Scalar Multiplication (d * 3):');
disp(scalarMultiply);
disp('Matrix after Scalar Division (d / 3):');
disp(scalarDivide);
%% 9. Matrix Transposition
f = [1 3 5; 2 4 6];
fTranspose = f';
disp('9. Transposed Matrix:');
disp(fTranspose);
%% 10. Matrix Inverse and Determinant
g = [1 0 2; 2 1 3; 3 4 1];
det_g = det(g); % Determinant
disp('10. Determinant of Matrix g:');
disp(det_g);
if det_g ~= 0
gInverse = inv(g); % Inverse of g
disp('Inverse of Matrix g:');
disp(gInverse);
else
disp('Matrix g is singular and does not have an inverse.');
end
%% 11. Dynamic Matrix Creation
n = input('Enter the size of the square matrix n: ');
A_dynamic = zeros(n,n);
for i = 1:n
for j = 1:n
A_dynamic(i,j) = i * j;
end
end
disp('11. Dynamic Square Matrix A (i*j):');
disp(A_dynamic);
%% 12. Checkerboard Matrix
n = 8; % Size of checkerboard matrix
checkerboard = mod((1:n)' + (1:n), 2); % Checkerboard logic
disp('12. Checkerboard Matrix (n=8):');
disp(checkerboard);
%% 13. Rotating a Matrix 90 Degrees Clockwise
M = [1 2 3; 4 5 6; 7 8 9]; % Test matrix
rotatedMatrix = M';
rotatedMatrix = flipud(rotatedMatrix);
disp('13. Rotated Matrix (90 Degrees Clockwise):');
disp(rotatedMatrix);
%% 14. Diagonal Dominance Validator
function isDominant = checkDiagonalDominance(X)
n = size(X, 1);
isDominant = true;
for i = 1:n
if abs(X(i,i)) <= sum(abs(X(i,:))) - abs(X(i,i))
isDominant = false;
break;
end
end
end
% Example: Test the diagonal dominance validator
matrixTest = [3 1 1; 1 4 1; 0 2 5];
disp('14. Diagonal Dominance Check:');
if checkDiagonalDominance(matrixTest)
disp('Matrix is diagonally dominant.');
else
disp('Matrix is NOT diagonally dominant.');
end
%% 15. Matrix Pattern Extraction (Cross Shape)
X = magic(7); % Create a 7x7 test matrix
middleRow = X(ceil(end/2), :);
middleColumn = X(:, ceil(end/2));
crossShape = [middleRow; middleColumn'];
disp('15. Extracted Cross Shape from Center of Matrix:');
disp('Middle Row:');
disp(middleRow);
disp('Middle Column:');
disp(middleColumn);
Steve Eddins
Steve Eddins
Last activity on 12 Dec 2024 at 21:25

Speaking as someone with 31+ years of experience developing and using imshow, I want to advocate for retiring and replacing it.
The function imshow has behaviors and defaults that were appropriate for the MATLAB and computer monitors of the 1990s, but which are not the best choice for most image display situations in today's MATLAB. Also, the 31 years have not been kind to the imshow code base. It is a glitchy, hard-to-maintain monster.
My new File Exchange function, imview, illustrates the kind of changes that I think should be made. The function imview is a much better MATLAB graphics citizen and produces higher quality image display by default, and it dispenses with the whole fraught business of trying to resize the containing figure. Although this is an initial release that does not yet support all the useful options that imshow does, it does enough that I am prepared to stop using imshow in my own work.
The Image Processing Toolbox team has just introduced in R2024b a new image viewer called imageshow, but that image viewer is created in a special-purpose window. It does not satisfy the need for an image display function that works well with the axes and figure objects of the traditional MATLAB graphics system.
I have published a blog post today that describes all this in more detail. I'd be interested to hear what other people think.
Note: Yes, I know there is an Image Processing Toolbox function called imview. That one is a stub for an old toolbox capability that was removed something like 15+ years ago. The only thing the toolbox imview function does now is call error. I have just submitted a support request to MathWorks to remove this old stub.
The int function in the Symbolic Toolbox has a hold/release functionality wherein the expression can be held to delay evaluation
syms x I
eqn = I == int(x,x,'Hold',true)
eqn = 
which allows one to show the integral, and then use release to show the result
release(eqn)
ans = 
I think I already submitted an enhancement request for the same functionality for symsum.
Maybe it would be nice to be able to hold/release any symbolic expression to delay the engine from doing evaluations/simplifications that it typically does. For example:
x*(x+1)/x, sin(sym(pi)/3)
ans = 
ans = 
If I'm trying to show a sequence of steps to develop a result, maybe I want to explicitly keep the x/x in the first case and then say "now the x in the numerator and denominator cancel and the result is ..." followed by the release command to get the final result.
Perhaps held expressions could even be nested to show a sequence of results upon subsequent releases.
Held expressions might be subject to other limitations, like maybe they can't be fplotted.
Seems like such a capability might not be useful for problem solving, but might be useful for exposition, instruction, etc.
Watt's Up with Electric Vehicles?EV modeling Ecosystem (Eco-friendly Vehicles), V2V Communication and V2I communications thereby emitting zero Emissions to considerably reduce NOx ,Particulates matters,CO2 given that Combustion is always incomplete and will always be.
Reduction of gas emissions outside to the environment will improve human life span ,few epidemic diseases and will result in long life standard
David
David
Last activity on 9 Dec 2024 at 20:01

We will be updating the MATLAB Answers infrastructure at 1PM EST today. We do not expect any disruption of service during this time. However, if you notice any issues, please be patient and try again later. Thank you for your understanding.
Image Analyst
Image Analyst
Last activity on 2 Dec 2024 at 22:14

Christmas season is underway at my house:
(Sorry - the ornament is not available at the MathWorks Merch Shop -- I made it with a 3-D printer.)
Is it possible to differenciate the input, output and in-between wires by colors?
Chen Lin
Chen Lin
Last activity on 7 Dec 2024 at 7:25

Hello, MATLAB fans!
For years, many of you have expressed interest in getting your hands on some cool MathWorks merchandise. I'm thrilled to announce that the wait is over—the MathWorks Merch Shop is officially open!
In our shop, you'll find a variety of exciting items, including baseball caps, mugs, T-shirts, and YETI bottles.
Visit the shop today and explore all the fantastic merchandise we have to offer. Happy shopping!
I was curious to startup your new AI Chat playground.
The first screen that popped up made the statement:
"Please keep in mind that AI sometimes writes code and text that seems accurate, but isnt"
Can someone elaborate on what exactly this means with respect to your AI Chat playground integration with the Matlab tools?
Are there any accuracy metrics for this integration?
We are thrilled to announce the grand prize winners of our MATLAB Shorts Mini Hack contest! This year, we invited the MATLAB Graphics and Charting team, the authors of the MATLAB functions used in every entry, to be our judges. After careful consideration, they have selected the top three winners:
1st place - Tim
Judge comments: Realism & detailed comments; wowed us with Manta Ray
2nd place – Jenny Bosten
Judge comments: Topical hacks : Auroras & Wind turbine; beautiful landscapes & nightscapes
3rd place - Vasilis Bellos
Judge comments: Nice algorithms & extra comments; can’t go wrong with Pumpkins
There is also an Honorable Mention - William Dean
Judge comments: Impressive spring & cubes!
In addition, after validating the votes, we are pleased to announce the top 10 participants on the leaderboard:
Congratulations to all! Your creativity and skills have inspired many of us to explore and learn new skills, and make this contest a big success!
Dear MATLAB contest enthusiasts,
Welcome to the third installment of our interview series with top contest participants! This time we had the pleasure of talking to our all-time rock star – @Jenny Bosten. Every one of her entries is a masterpiece, demonstrating a deep understanding of the relationship between mathematics and aesthetics. Even Cleve Moler, the original author of MATLAB, is impressed and wrote in his blog: "Her code for Time Lapse of Lake View to the West shows she is also a wizard of coordinate systems and color maps."
The interview has been published on the MATLAB Community Blog. We highly encourage
you to read it to learn more about Jenny’s journey, her creative process, and her favorite entries.
Question: Who would you like to see featured in our next interview? Let us know your thoughts in the comments!
Image Analyst
Image Analyst
Last activity on 7 Nov 2024

It would be nice to have a function to shade between two curves. This is a common question asked on Answers and there are some File Exchange entries on it but it's such a common thing to want to do I think there should be a built in function for it. I'm thinking of something like
plotsWithShading(x1, y1, 'r-', x2, y2, 'b-', 'ShadingColor', [.7, .5, .3], 'Opacity', 0.5);
So we can specify the coordinates of the two curves, and the shading color to be used, and its opacity, and it would shade the region between the two curves where the x ranges overlap. Other options should also be accepted, like line with, line style, markers or not, etc. Perhaps all those options could be put into a structure as fields, like
plotsWithShading(x1, y1, options1, x2, y2, options2, 'ShadingColor', [.7, .5, .3], 'Opacity', 0.5);
the shading options could also (optionally) be a structure. I know it can be done with a series of other functions like patch or fill, but it's kind of tricky and not obvious as we can see from the number of questions about how to do it.
Does anyone else think this would be a convenient function to add?
Over the past 4 weeks, 250+ creative short movies have been crafted. We had a lot of fun and, more importantly, learned new skills from each other! Now it’s time to announce week 4 winners.
Nature:
3D:
Seamless loop:
Holiday:
Fractal:
Congratulations! Each of you won your choice of a T-shirt, a hat, or a coffee mug. We will contact you after the contest ends.
Weekly Special Prizes
Thank you for sharing your tips & tricks with the community. These great technical articles will benefit community users for many years. You won a limited-edition pair of MATLAB Shorts!
In week 5, let’s take a moment to sit back, explore all of the interesting entries, and cast your votes. Reflect what you have learned or which entries you like most. Share anything in our Discussions area! There is still time to win our limited-edition MATLAB Shorts.
In the past two years, large language models have brought us significant changes, leading to the emergence of programming tools such as GitHub Copilot, Tabnine, Kite, CodeGPT, Replit, Cursor, and many others. Most of these tools support code writing by providing auto-completion, prompts, and suggestions, and they can be easily integrated with various IDEs.
As far as I know, aside from the MATLAB-VSCode/MatGPT plugin, MATLAB lacks such AI assistant plugins for its native MATLAB-Desktop, although it can leverage other third-party plugins for intelligent programming assistance. There is hope for a native tool of this kind to be built-in.
What incredible short movies can be crafted with no more than 2000 characters of MATLAB code? Discover the creativity in our GALLERY from the MATLAB Shorts Mini Hack contest.
Vote on your favorite short movies by Nov.10th. We are giving out MATLAB T-shirts to 10 lucky voters!
Tips: the more you vote, the higher your chance to win.
Mark your calendar for November 13–14 and get ready for two days of learning, inspiration, and connections!
We are thrilled to announce that MathWork’s incredible María Elena Gavilán Alfonso was selected as a keynote speaker at this year’s MATLAB Expo.
Her session, "From Embedded to Empowered: The Rise of Software-Defined Products," promises to be a game-changer! With her expertise and insights, María is set to inspire and elevate our understanding of the evolving world of software-defined products.
Watch a sneak peek here and get a taste of what's to come!
Interested in attending? Sign up at matlabexpo.com/online
I know we have all been in that all-too-common situation of needing to inefficiently identify prime numbers using only a regular expression... and now Matt Parker from Standup Maths helpfully released a YouTube video entitled "How on Earth does ^.?$|^(..+?)\1+$ produce primes?" in which he explains a simple regular expression (aka Halloween incantation) which matches composite numbers:
Here is my first attempt using MATLAB and Matt Parker's example values:
fnh = @(n) isempty(regexp(repelem('*',n),'^.?$|^(..+?)\1+$','emptymatch'));
fnh(13)
ans = logical
1
fnh(15)
ans = logical
0
fnh(101)
ans = logical
1
fnh(1000)
ans = logical
0
Feel free to try/modify the incantation yourself. Happy Halloween!