Tuesday, August 23, 2011

earth cube

I'm adding a new topic to this blog, cyberinfrastructure (to take NSF's out-of-date word). And I'm not going to add propriety either. I considered having a new blog about geoinformatics but now I've decided that I should just add to the list of topics in matlabor. (Currently something like (1) matlab (2) GIS (3) stuff I like.)

In these new posts I will attempt to capture the interesting events and topics in the deluge of emails and announcements I get.

Random: I was thinking of building a matlab program to analyze Eminem lyrics.

Anyway, the first cyberinfrastructurey post is about Earth Cube.

http://www.nsf.gov/geo/earthcube/index.jsp

NSF ... recognize(s) the multifaceted challenges of modern, data-intensive science and education and envision an environment where low adoption thresholds and new capabilities act together to greatly increase the productivity and capability of researchers and educators working at the frontiers of Earth system science.

Writing about cyberinfrastructure often has a lot of very long sentences.

Wednesday, July 13, 2011

GraphClick - digitize points

mp told me about this one: GraphClick

http://www.arizona-software.ch/graphclick/

She is using it to digitize grain size distributions. I used it to digitize contours of the damage zone around Wenchuan earthquakes from historical documents and volume of continental crust through earth time curves. You need to pay the $8 to get all the features (like saving more than 10 points), but it is well worth it, and you can try it out before paying.

I LOVE useful software.

It is for mac only I think. sigh.

Friday, April 15, 2011

parsing text with Text to Columns

This is one of those things that you just want to hit yourself on the head for not knowing earlier.

In Excel (yes, I still use excel) there is a Text to Columns Wizard that allows you to parse data by either fixed width or a defined delimiter.

In Excel 2011 Mac (gag), it is under Data --> Text to Columns.

PARSING BY FIXED WIDTH IN EXCEL!

This is especially useful for delimiting degrees, minutes, seconds. Use it with Search and Replace to do what you need to do.

It is really sad that I just learned this today.

Friday, March 18, 2011

setting up figure templates

Make your life easier by setting up figure templates for MATLAB

http://gears-tt.blogspot.com/2011/03/templates-why-matlab-is-awesomeness.html

As posted by MATLAB stream on fb.

Friday, December 10, 2010

matlab demo videos

I watched 14 of the demo videos yesterday:

http://www.mathworks.com/products/matlab/demos.html

It took me about 5 years to haphazardly learn most of the things that you could learn in an hour or so watching all of those videos.

Watch the videos.

You learn things like, did you know you can specify something like
mymatrix(10:end);

I've always done
mymatrix(10:length(mymatrix));

Also good:

http://www.mathworks.com/videos/matlab/optimizing-performance.html

I love matlab.

Tuesday, November 30, 2010

plotyy

plotyy - plot with two y-axes, independently control each axis

notes:
(1) specify the x-axis to be exactly the same for both
(2) define the handles for the axes and lines/objects AX(1) is left axis handle, AX(2) is right axis handle

long convoluted example:
    [AX,H1,H2] = plotyy(jda(event),sei(event), ...
        jda(event),dis(event));
    


    set(get(AX(1), 'Ylabel'), 'String', 'seismicity (m/s)', ...
        'FontName', 'Arial', 'FontSize', 12, 'FontWeight', 'bold')
    set(get(AX(2), 'Ylabel'), 'String', 'discharge (m^3/s)', ...
        'FontName', 'Arial', 'FontSize', 12, 'FontWeight', 'bold')
    set(AX(1), 'YLim', [0 .000001], ...
        'XLim', [axismat(1) axismat(4)], ...
        'XTick', axismat, ...
        'YTick', ...
        [0 .0000002 .0000004 .0000006 .0000008 .000001], ...
        'LineWidth',1.5, ...
        'FontName', 'Arial', 'FontWeight', 'bold', 'FontSize', 12) 
    set(AX(2), 'YLim', [0 5000], ...
        'XLim', [axismat(1) axismat(4)], ...
        'XTick', axismat, ...
        'YTick', [0 1000 2000 3000 4000 5000], 'LineWidth',1.5, ...
        'FontName', 'Arial', 'FontWeight', 'bold', 'FontSize', 12) 
    set(H1, 'Marker', 'o', 'LineStyle', 'none', 'MarkerSize', 3);
    set(H2, 'LineWidth', 2);
    axis ([AX(1) AX(2)], 'square');
    xlabel('julian day','FontName', 'Arial', ...
        'FontWeight', 'bold', 'FontSize', 12);

    set(gca, ...
    'LineWidth',1.5, ...
    'FontName', 'Arial', 'FontWeight', 'bold', 'FontSize', 12) 



Monday, November 29, 2010

How to put Excel data into Matlab and retain the 'cell' structure

1. Make your cell structure by using curly brackets:
A={1}
2. Copy the excel data to the clipboard
3. Then open up "A" and right click on the top left cell-- choose 'paste excel data'
4. Save your variable A
5. Use it in Matlab:
B = cell2mat(A(row # to start on : row # to end on , column # );