File Exchange

image thumbnail

Cleve Laboratory

version 3.71 (2.55 MB) by Cleve Moler
A mathematical exploratorium.

101 Downloads

Updated 20 Sep 2018

View License

3.71 Bug fixes to c^5 weblinks.
All "helpwin" changed to "doc".

3.70 Add travel_game to find traveling salesman route through 48 state capitals. New lexicon and expanding universe in life_lex, Game of Life.

See Cleve's Corner in 2016 MathWorks News & Notes,
https://www.mathworks.com/company/newsletters/articles/introducing-cleves-laboratory.html.
And see Cleve's Corner blog, http://blogs.mathworks.com/cleve

Explorations:
* Traveling Salesman game
* Dragon Curve
* Cleve's Corner Collection Card Catalog
* Arrowhead Coauthor Graph
* Calculator with Half Precision and Roman Numerals
* Roman Clock
* Color Cubes
* Logo Waves
* Eigshow
* Expshow
* Eigenwalker
* Fern
* Tumbling Box
* Orbits
* Double Pendulum
* Lorenz Chaotic Attractor
* Strang's House
* Flame
* Water Wave
* Mandelbrot
* Golden Spiral
* Game of Life
* Sudoku
* Möbius
* Predator-Prey
* Durer's Magic Square
* Crossed Ladders
* . . . and more.

Comments and Ratings (24)

Ingmar Rieger

Hey, as I did some tests with half floats I used Cleve Laboratory and found some shortcomings. I tried to fix all and tried to keep the design clean to the best of my MATLAB knowledge. My suggestions for changes can be found here: https://github.com/irieger/cleve-laboratory

1. Found no way to access the u matrix containing the uint16 packed half floats.
2. No way to create a fp16 matrix with already packed uint16 half float data.
3. It seems to be not ideally efficient to use a for loop and the for loops are designed to handle only 2 dimensional matrices. As I worked with image data I needed a third dimension.

1+2 are of course directly related to each other and helpful when one needs to operate on the binary data or wants to save the actual half float data.

Ingmar Rieger

Very helpful half-precision! Fixed bug really matters!
Thanks!

Ronnie North

Jason Olasky

R2017b Home: Lots of errors

Jason Hu

Peterq Lee

Cleve Moler

Hi Matthew --
Sorry you are having difficulty with Cleve's Laboratory. But I'm afraid that I do not understand the nature of the problem. Could you please tell me what's wrong.
Thanks.
-- Cleve

Matthew

This submission currently(!) deserves a one star rating. One the surface, it appears that no thought has been given to the end-users. For example, required products: MATLAB. No. That is not the case for the submitted code.

Attempts (one or more) were made back in November 2016 to fix these problems. Doesn't this mess prove the inadequacy of MATLAB's dependency analysis and FEX submission processes?

Kamil Wojcicki

Yuri Dreizin

The latest Matlab Release offered for downloading wth my home license (ydreizin@gmail.com) was
Matlab 2016a, while the app requires 2016b.
When 2016b will be available?
Another problem:
When I tried to install 2016a (to try the app on it) and verified my license, I ran into another issue:
installation dialog of 2016a required to install a curve fitting toolbox (3.5.3 if I remember right). It did not allow me to uncheck it from the list of toolboxes to be downloaded (when I tried the NEXT button dimmed), but when I did leave it checked and tried to proceed, the next subdialog said that Matlab 9.0 is required, asking me to provide a path for it. But I think Matlab 9.0 is just another name for 2016 release which I tried to install (I do have 2014 and 2015 releases on my PC). So the installation procedure seems to create a vicious circle. Please help

Maybe I don't understand how to download apps, but I can't get this to run out of the box on Matlab R2015b. This is what I did:

- Clicked "Add-Ons" from the Home ribbon to open the add on explorer
- Searched for "Cleve" in the explorer, installed "Cleve Laboratory", agreed to the software agreement etc. Everything appeared to be installed with no obvious warnings.
- Typing "CleveLaboratoryApp" yields "Undefined function or variable 'CleveLaboratoryApp'."

- If I go the addon manager and "Open Folder", then type CleveLaboratoryApp, I get
Error using nargout
Function lab1 does not exist.

Error in CleveLaboratoryApp/startApp (line 58)
if nargout(@lab1) == 0

Error in CleveLaboratoryApp (line 38)
startApp(obj)

Is this some problem with the app install process where paths to functions like lab1.m are not getting addpathed? Or am I missing something? The help for CleveLaboratoryApp.m is pretty sparse, so it's hard to tell if I'm doing something wrong with syntax.

Tried installing latest but still failed with same error as Karl's:

com.mathworks.jmi.MatlabException: Failed to extract Matlab app file 'C:\Users\rfortenberry\AppData\Local\Temp\Temp1_Cleve Laboratory.zip\Cleve Laboratory.mlappinstall' to '\\fs1\Users\rfortenberry\My Documents\MATLAB\Apps\CleveLaboratory' with error: Error in parsing xml file. Details: 'unexpected end of input'
at com.mathworks.jmi.NativeMatlab.SendMatlabMessage(Native Method)
at com.mathworks.jmi.NativeMatlab.sendMatlabMessage(NativeMatlab.java:266)
at com.mathworks.jmi.MatlabLooper.sendMatlabMessage(MatlabLooper.java:120)
at com.mathworks.jmi.Matlab.mtFeval(Matlab.java:1710)
at com.mathworks.jmi.MatlabWorker.feval(MatlabWorker.java:197)
at com.mathworks.appmanagement.InstallAppMatlabWorker.doOnMatlabThread(InstallAppMatlabWorker.java:20)
at com.mathworks.appmanagement.InstallAppMatlabWorker.doOnMatlabThread(InstallAppMatlabWorker.java:7)
at com.mathworks.appmanagement.AbstractAppManagementMatlabWorker.runOnMatlabThread(AbstractAppManagementMatlabWorker.java:21)
at com.mathworks.jmi.MatlabWorker$2.run(MatlabWorker.java:79)
at com.mathworks.jmi.NativeMatlab.dispatchMTRequests(NativeMatlab.java:475)

Mark Knecht

This app hung during installation in Gentoo Linux so I killed Matlab to get control again. Will try again later.

this is helpful for me to understand
how to use matlab efficient

S LIU

S LIU (view profile)

I need

Cleve Moler

I have updated this contribution, fixing the install problem, eliminating the call to imresize (the Image Processing Toolbox is on my path, but no everbody's), and adding Crossing Ladders to lab2.
-- Cleve

verry good

Karl Rudnick

I believe the apostrophe only caused an error when, on Windows 10, I double-clicked the file to both fire up Matlab and run the add-on install file. The fileparts function had trouble parsing. After I repaired it, I still get the same error message. Do I need to upgrade from R2014b home? I'm retired now and like to minimize expenditures upgrading everything I pay for.

Cleve Moler

Did Karl discover that the apostrophe in Cleve's Laboratory is causing trouble with the app install? I'm not sure and will investigate.

Dan did discover that imresize in Durerperm comes from the Image Processing Toolbox, which is on my path, but not everybody's. I will repair that.

Thanks for comments.

-- Cleve

Dominik

Karl Rudnick

Will not install in my Home version : 8.4.0.150421 (R2014b)
I first had to remove apostrophes in the mlappinstall path name, but then I get this error message:
com.mathworks.jmi.MatlabException: Failed to extract Matlab app file 'C:/Users/karl/Documents/MATLAB/ClevesLaboratory/Cleve's Laboratory.mlappinstall' to 'C:/Users/karl/Documents/MATLAB/Apps/ClevesLaboratory - 5' with error: Error in parsing xml file. Details: 'unexpected end of input'
at com.mathworks.jmi.NativeMatlab.SendMatlabMessage(Native Method)
at com.mathworks.jmi.NativeMatlab.sendMatlabMessage(NativeMatlab.java:266)
at com.mathworks.jmi.MatlabLooper.sendMatlabMessage(MatlabLooper.java:120)
at com.mathworks.jmi.Matlab.mtFeval(Matlab.java:1622)
at com.mathworks.jmi.MatlabWorker.feval(MatlabWorker.java:197)
at com.mathworks.appmanagement.InstallAppMatlabWorker.doOnMatlabThread(InstallAppMatlabWorker.java:20)
at com.mathworks.appmanagement.InstallAppMatlabWorker.doOnMatlabThread(InstallAppMatlabWorker.java:7)
at com.mathworks.appmanagement.AbstractAppManagementMatlabWorker.runOnMatlabThread(AbstractAppManagementMatlabWorker.java:21)
at com.mathworks.jmi.MatlabWorker$2.run(MatlabWorker.java:79)
at com.mathworks.jmi.NativeMatlab.dispatchMTRequests(NativeMatlab.java:475)

Dan Schult

I can't start this app. An error message appears while loading durerperm thumbnail icon:
Undefined function or variable 'imresize'.
Error in thumbnails1 (line 137)
x = imresize(X,1/2);

Error in lab1 (line 63)
thumbnails1(f)

When I search the Documentation for imresize, nothing shows up. Do I need to download something else?

Maybe the app should check for the presence of imresize?

Mikhail

Mikhail (view profile)

Updates

3.71

3.71 Bug fixes to c^5 weblinks.
All "helpwin" changed to "doc".

3.70

3.70 Add travel_game to find traveling salesman route through 48 state capitals. New lexicon and expanding universe in life_lex, Game of Life.

3.60.0.0

match_color
mandelbrot
censusapp

3.52.0.0

3.50 add dragon to lab3.
See: https://blogs.mathworks.com/cleve/2018/04/06.
3.51 & 3.52 update c5database.

3.35.0.0

3.35 bug fix in fp16 and fp8 constructors
https://blogs.mathworks.com/cleve/2017/12/20/bug-in-half-precision-floating-point-object/

3.33.0.0

3.33 bug fixes in fp16 and fp8 contructors.
http://blogs.mathworks.com/cleve/2017/12/20/bug-in-half-precision-floating-point-object/

3.32.0.0

roman_clock and c^5 thumbnails .

3.20.0.0

Version 3.20 adds @fp8 and @fp16 horzcat.m., vertcat.m and log2, and fixes calculator bugs.

3.11.0.0

Version 3.11 eliminate call to imresize.

3.1.0.0

Version 3.1 updates the calculator and fp8 and fp16 objects and includes lutx and svdtx.

3.0.0.0

Version 3.0 adds a third Lab and expands to 39 explorations.

2.40.0.0

Add morse_tree and colorcubes.

2.33.0.0

Repair links in description.

2.31.0.0

Semicolon in thumbnails2

2.30.0.0

Add bizcard and patience.

2.30.0.0

Add bizcard and patience.

2.10.0.0

xxx

2.3.0.0

Repair links.

2.2.0.0

Repair link to 1/5/2017 blog. Fix legend in orbits.

2.1.0.0

Correct and enhance description.

2.0.0.0

Add new experiment, moebiusapp. Add features to lab1, lab2, hello_world, censusapp, sudoku. Improve thumbnails.

1.2.0.0

Eliminate call to imresize in thumbnails1.

1.1.0.0

Repair installer; add Crossed Ladders

1.0.0.0

Correct link to newslettter in description.

1.0.0.0

Change house_clock to house_mult. Add more info's.

MATLAB Release Compatibility
Created with R2018a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Discover Live Editor

Create scripts with code, output, and formatted text in a single executable document.


Learn About Live Editor